J2EE项目实训 Spring框架技术——第4章 对Spring框架的单元测试技术(第2部分).doc

上传人:数据九部 文档编号:11073739 上传时间:2021-06-26 格式:DOC 页数:13 大小:497KB
返回 下载 相关 举报
J2EE项目实训 Spring框架技术——第4章 对Spring框架的单元测试技术(第2部分).doc_第1页
第1页 / 共13页
J2EE项目实训 Spring框架技术——第4章 对Spring框架的单元测试技术(第2部分).doc_第2页
第2页 / 共13页
J2EE项目实训 Spring框架技术——第4章 对Spring框架的单元测试技术(第2部分).doc_第3页
第3页 / 共13页
J2EE项目实训 Spring框架技术——第4章 对Spring框架的单元测试技术(第2部分).doc_第4页
第4页 / 共13页
J2EE项目实训 Spring框架技术——第4章 对Spring框架的单元测试技术(第2部分).doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《J2EE项目实训 Spring框架技术——第4章 对Spring框架的单元测试技术(第2部分).doc》由会员分享,可在线阅读,更多相关《J2EE项目实训 Spring框架技术——第4章 对Spring框架的单元测试技术(第2部分).doc(13页珍藏版)》请在三一文库上搜索。

1、杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料第4章 对Spring框架的单元测试技术(第2/3部分)1.1 采用JUnit技术实现对Spring框架组件的单元测试1.1.1 对业务层组件UserManagerImple类进行单元测试1、在Eclipse中新建一个测试项目(1)在Eclipse中新建一个J2SE的测试项目下面将针对在前面的第三章中所产生的SpringWebApp项目进行单元测试,因此在Eclipse工具中新建一个J2SE的测试项目。选择Eclipse中的【文件】菜单,再选择【新建】菜单项,并选择【项目】菜单项后;再在对话框中选择Java 项目,并点击“下一步”按钮,将

2、能够看到下面的图4.5中所示的对话框。在该对话框中输入项目的名称为TestSpringWebApp。图4.5 在Eclipse中新建一个J2SE的测试项目(2)命名该测试项目为TestSpringWebApp,请见下面的图4.6所示图4.6 命名该项目为TestSpringWebApp2、将被测试项目引入到本测试项目中由于在单元测试中一般希望将测试项目(也就是测试用例类所在的Java项目)应该与被测试项目(也就是应用项目,本例为在前面的第三章中所产生的SpringWebApp系统)相互分离,这样不会对被测试项目产生垃圾代码和添加与应用系统本身无关的系统包文件。右击测试项目,在弹出的菜单中选择【

3、属性】菜单项,将进入下面的图4.7所示的对话框。在对话框的“项目”标签页中选择“添加”按钮以添加被测试的项目,详细过程请见下面的图4.7所示。图4.7 将被测试项目引入到本测试项目中的对话框3、添加与JUnit相关的系统*.jar包文件为了能够在测试项目中应用JUnit框架进行测试用例的编程,需要在本测试项目中引入JUnit的系统*.jar包文件。右击测试项目,在弹出的菜单中选择【属性】菜单项,将进入到下面的图4.8中所示的对话框。在对话框的“库”标签页中选择【添加外部JAR(X)】按钮以添加JUnit的系统*.jar包文件,详细过程请见下面的图4.8所示。图4.8 添加JUnit的系统包文件

4、4、在测试项目中添加Spring 系统的*.jar包文件由于在测试项目中也需要应用Spring框架中有关的API,因此也应该将Spring 系统的*.jar包文件添加到测试项目中。右击测试项目,在弹出的菜单中选择【属性】菜单项,将进入下面的图4.9所示的对话框。在对话框的“库”标签页中选择【添加外部JAR(X)】按钮以添加Spring的系统*.jar包文件,详细过程请见下面的图4.9所示的各个文件的名称。图4.9 添加Spring相关的系统包文件5、在测试项目中添加对业务层组件UserManagerImple类的测试用例类(1)添加对UserManagerImple类的测试用例类右击测试项目,

5、在弹出的菜单中选择【JUnit测试用例】菜单项,请参考下面的图4.10中所示的操作状态的要求。图4.10 在测试项目中添加测试用例类的菜单(2)设置与测试用例类相关的名称在下面的图4.11所示的对话框中的类名称输入框中输入类名称为TestUserManagerImple,包名称为com.px1987.springwebapp.test,基类选择为junit.framework.TestCase,被测试的功能类选择为前面的编程实现的com.px1987.springwebapp.model.UserManagerImple组件类。请参考下面的图4.11所示。图4.11 添加TestUserMan

6、agerImple测试用例类的对话框(3)选择被测试类中的相关的被测试方法的名称点击【下一步】按钮,将出现下面的图4.12所示的对话框,在该对话框中选择被测试类中的相关的被测试方法的名称。请见图4.12中所示的选择的状态。图4.12 选择被测试类中的相关的被测试方法的名称最后点击【完成】按钮后,Eclipse将自动地创建出一个标准的测试用例的模板程序。6、编程该测试用例(TestCase)类TestUserManagerImple【例4-4】 TestUserManagerImple测试用例类的代码示例package com.px1987.springwebapp.test;import co

7、m.px1987.springwebapp.model.UserInfoVO;import com.px1987.springwebapp.model.UserManagerInterface;import junit.framework.TestCase;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext; public class TestUserManagerImple extends

8、 TestCaseUserManagerInterface userManagerImple=null;protected void setUp() throws Exceptionsuper.setUp();String springXMLPath=D:/SpringWebApp/WebRoot/WEB-INF/springWebApplicationContext.xml;ApplicationContext applicationContext = new FileSystemXmlApplicationContext(springXMLPath); userManagerImple =

9、 (UserManagerInterface) applicationContext.getBean(userManagerImple);protected void tearDown() throws Exception userManagerImple=null;super.tearDown();public void testDoUserLogin()UserInfoVO oneUserInfo=new UserInfoVO();oneUserInfo.setUserName(admin);oneUserInfo.setUserPassWord(admin);boolean return

10、Result=userManagerImple.doUserLogin(oneUserInfo);this.assertTrue(returnResult);7、执行该测试用例TestUserManagerImple类(1)启动测试用例类右击测试用例TestUserManagerImple类,在弹出的菜单中选择【运行方式】菜单项,然后再选择【JUnit测试】菜单项。具体的实现要求请参考下面的图4.13中所示的操作要求。图4.13 执行TestUserManagerImple测试用例类的菜单项(2)将产生出下面的图4.14中所示的测试结果图4.14 执行TestUserManagerImple测

11、试用例类的测试结果从上面的图4.14所示的测试结果中,观察到对TestUserManagerImple测试用例类执行过程是正确的。反推断出被测试类UserManagerImple中的各个被测试的方法应该是正常的。1.1.2 对DAO组件DAOOperatorDBBean类进行单元测试1、在测试项目中添加对DAO组件DAOOperatorDBBean类的测试用例类(1)添加对DAOOperatorDBBean类的测试用例类右击测试项目,在弹出的菜单中选择【JUnit测试用例】菜单项,请参考下面的图4.15所示。图4.15 在测试项目中添加测试用例类的菜单(2)设置与测试用例类相关的名称在下面的图

12、4.16所示的对话框中的类名称输入框中输入测试用例类的名称为TestDAOOperatorDBBean,包名称选择为com.px1987.springwebapp.test,测试用例类的基类选择为junit.framework.TestCase,而被测试的类选择为项目中的DAO组件类com.px1987.springwebapp.dao.DAOOperatorDBBean。请参考下面的图4.16中所示的操作状态。图4.16 添加TestDAOOperatorDBBean测试用例类的对话框(3)选择被测试类中的相关的被测试方法的名称点击【下一步】按钮,将出现下面的图4.17所示的对话框,在该对话

13、框中选择被测试类中的相关的被测试方法的名称。请见图4.17所示的选择的状态。图4.17选择被测试类中的相关的被测试方法的名称对话框最后点击【完成】按钮后,Eclipse工具将自动地创建出一个标准的测试用例的模板程序。2、编程该测试用例TestDAOOperatorDBBean类【例4-5】 TestDAOOperatorDBBean测试用例类的代码示例package com.px1987.springwebapp.test;import java.util.Date;import com.px1987.springwebapp.dao.DAOInterface;import com.px198

14、7.springwebapp.model.*;import junit.framework.TestCase;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext; public class TestDAOOperatorDBBean extends TestCaseprivate DAOInterface daoOperatorDBBean=null;protected void setUp

15、() throws Exceptionsuper.setUp();String springXMLPath=D:/SpringWebApp/WebRoot/WEB-INF/springWebApplicationContext.xml;ApplicationContext applicationContext = new FileSystemXmlApplicationContext(springXMLPath); daoOperatorDBBean = (DAOInterface) applicationContext.getBean(daoOperatorDBBean);protected

16、 void tearDown() throws ExceptiondaoOperatorDBBean=null;super.tearDown();public void testDeleteOneUserInfo()int userID=2;/应该根据数据库表中实际的数据值进行选择boolean returnResult=daoOperatorDBBean.deleteOneUserInfo(userID);this.assertTrue(returnResult);public void testGetOneUserInfo()String userName=admin;String use

17、rPassWord=admin; UserInfoVO returnOneUserInfo=daoOperatorDBBean.getOneUserInfo(userName, userPassWord);assertNotNull(returnOneUserInfo);public void testInsertOneUserInfo()UserInfoVO oneUserInfoVO=null;oneUserInfoVO=new UserInfoVO();oneUserInfoVO.setUserName(张三);oneUserInfoVO.setUserPassWord(12345678

18、);oneUserInfoVO.setUserDepartment(开发部);oneUserInfoVO.setUserAdminLevel(1);oneUserInfoVO.setDepartAdminLevel(1);oneUserInfoVO.setUserImage(.ResourcePersonImageChang.gif);Date nowDate=new Date();oneUserInfoVO.setRegisterTime(nowDate.toString();oneUserInfoVO.setId(30);boolean returnResult=daoOperatorDB

19、Bean.insertOneUserInfo(oneUserInfoVO);this.assertTrue(returnResult);public void testUpdateOneUserInfo()UserInfoVO newUserInfoVO=null;newUserInfoVO=new UserInfoVO();newUserInfoVO.setUserName(张三);newUserInfoVO.setUserPassWord(1234);/将用户的密码在此改变newUserInfoVO.setUserDepartment(开发部);newUserInfoVO.setUserA

20、dminLevel(1);newUserInfoVO.setDepartAdminLevel(1);newUserInfoVO.setUserImage(.ResourcePersonImageChang.gif);Date nowDate=new Date();newUserInfoVO.setRegisterTime(nowDate.toString();newUserInfoVO.setId(30);boolean returnResult=daoOperatorDBBean.updateOneUserInfo(newUserInfoVO);this.assertTrue(returnR

21、esult);3、执行该测试用例TestDAOOperatorDBBean类(1)启动测试用例类右击测试用例TestDAOOperatorDBBean类,在弹出的菜单中选择【运行方式】菜单项,然后再选择【JUnit测试】菜单项。请参考下面的图4.18所示。图4.18 执行TestDAOOperatorDBBean测试用例类的菜单项(2)将产生出下面的图4.19所示的测试结果图4.19 执行TestDAOOperatorDBBean测试用例类的测试结果从上面的图4.19所示的测试结果中,观察到对TestDAOOperatorDBBean测试用例类执行过程是正确的。反推断出被测试类DAOOperatorDBBean中的各个被测试的方法应该是正常的。杨教授工作室,版权所有,盗版必究, 13/13页

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1