J2EE项目实训Spring框架技术第4章对Spring框架的单元测试技术第2部分_第1页
J2EE项目实训Spring框架技术第4章对Spring框架的单元测试技术第2部分_第2页
J2EE项目实训Spring框架技术第4章对Spring框架的单元测试技术第2部分_第3页
J2EE项目实训Spring框架技术第4章对Spring框架的单元测试技术第2部分_第4页
J2EE项目实训Spring框架技术第4章对Spring框架的单元测试技术第2部分_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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); userman

9、agerimple = (usermanagerinterface) applicationcontext.getbean("usermanagerimple");protected void teardown() throws exception usermanagerimple=null;super.teardown();public void testdouserlogin()userinfovo oneuserinfo=new userinfovo();oneuserinfo.setusername("admin");oneuserinfo.se

10、tuserpassword("admin");boolean returnresult=usermanagerimple.douserlogin(oneuserinfo);this.asserttrue(returnresult);7、执行该测试用例testusermanagerimple类(1)启动测试用例类右击测试用例testusermanagerimple类,在弹出的菜单中选择【运行方式】菜单项,然后再选择【junit测试】菜单项。具体的实现要求请参考下面的图4.13中所示的操作要求。图4.13 执行testusermanagerimple测试用例类的菜单项(2)将产

11、生出下面的图4.14中所示的测试结果图4.14 执行testusermanagerimple测试用例类的测试结果从上面的图4.14所示的测试结果中,观察到对testusermanagerimple测试用例类执行过程是正确的。反推断出被测试类usermanagerimple中的各个被测试的方法应该是正常的。1.1.2 对dao组件daooperatordbbean类进行单元测试1、在测试项目中添加对dao组件daooperatordbbean类的测试用例类(1)添加对daooperatordbbean类的测试用例类右击测试项目,在弹出的菜单中选择【junit测试用例】菜单项,请参考下面的图4.1

12、5所示。图4.15 在测试项目中添加测试用例类的菜单(2)设置与测试用例类相关的名称在下面的图4.16所示的对话框中的类名称输入框中输入测试用例类的名称为testdaooperatordbbean,包名称选择为com.px1987.springwebapp.test,测试用例类的基类选择为junit.framework.testcase,而被测试的类选择为项目中的dao组件类com.px1987.springwebapp.dao.daooperatordbbean。请参考下面的图4.16中所示的操作状态。图4.16 添加testdaooperatordbbean测试用例类的对话框(3)选择被测

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

14、.springwebapp.dao.daointerface;import com.px1987.springwebapp.model.*;import junit.framework.testcase;import org.springframework.context.applicationcontext;import org.springframework.context.support.filesystemxmlapplicationcontext; public class testdaooperatordbbean extends testcaseprivate daointerf

15、ace daooperatordbbean=null;protected void setup() throws exceptionsuper.setup();string springxmlpath="d:/springwebapp/webroot/web-inf/springwebapplicationcontext.xml"applicationcontext applicationcontext = new filesystemxmlapplicationcontext(springxmlpath); daooperatordbbean = (daointerfac

16、e) applicationcontext.getbean("daooperatordbbean");protected void teardown() throws exceptiondaooperatordbbean=null;super.teardown();public void testdeleteoneuserinfo()int userid=2;/应该根据数据库表中实际的数据值进行选择boolean returnresult=daooperatordbbean.deleteoneuserinfo(userid);this.asserttrue(returnre

17、sult);public void testgetoneuserinfo()string username="admin"string userpassword="admin" userinfovo returnoneuserinfo=daooperatordbbean.getoneuserinfo(username, userpassword);assertnotnull(returnoneuserinfo);public void testinsertoneuserinfo()userinfovo oneuserinfovo=null;oneuser

18、infovo=new userinfovo();oneuserinfovo.setusername("张三");oneuserinfovo.setuserpassword("12345678");oneuserinfovo.setuserdepartment("开发部");oneuserinfovo.setuseradminlevel(1);oneuserinfovo.setdepartadminlevel(1);oneuserinfovo.setuserimage(".resourcepersonimagechang.gi

19、f");date nowdate=new date();oneuserinfovo.setregistertime(nowdate.tostring();oneuserinfovo.setid(30);boolean returnresult=daooperatordbbean.insertoneuserinfo(oneuserinfovo);this.asserttrue(returnresult);public void testupdateoneuserinfo()userinfovo newuserinfovo=null;newuserinfovo=new userinfovo();newuserinfovo.setusername("张三");newuserinfovo.setuserpassword("1234");/将用户的密码在此改变newuserinfovo.setuserdepartment("开发部");newuserinfovo.setuseradminlevel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论