收藏 分销(赏)

xUnit单元测试框架.ppt

上传人:仙人****88 文档编号:14174085 上传时间:2026-07-05 格式:PPT 页数:24 大小:805.50KB 下载积分:10 金币
下载 相关 举报
xUnit单元测试框架.ppt_第1页
第1页 / 共24页
xUnit单元测试框架.ppt_第2页
第2页 / 共24页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,/13,1,/13,xUnit,是各种代码驱动测试框架的统称,这些框架可以测试,软件的不同内容,(,单元,),,比如函数和类。,xUnit,框架的主要优,点是,它提供了一个自动化测试的解决方案。没有必要多次,编写重复的测试代码,也不必记住这个测试的结果应该是怎,样的。,第,5,讲,xUnit,单元测试框架,2,/13,xUnit,介绍,3,/13,单元测试的原则,:,先编写测试代码,然后编写符合测试的代码。至少做到完成部分代码后,再完成对应的测试代码。,测试代码不需要覆盖所有的细节,但应该对所有主要的功能和可能出错的地方有相应的测试用例。,发现,Bug,后,首先应编写对应的测试用例,然后再进行调试。,不断总结出现,Bug,的原因,对其他代码也编写相应的测试用例。,每次编写完代码后,运行所有以前的测试用例,验证对以前代码的影响,并把这种影响尽早消除。,不断维护测试代码,保证代码变动后能通过所有测试。,xUnit,介绍,(,续,),4,/13,xUnit,测试框架的四要素,:,(,1,)测试,Fixtures,是一组认定被测对象或被测程序单元测试成功的预定条件或预期结果的设定。,Fixture,就是被测试的目标,可能是一个对象或一组相关的对象,甚至是一个函数。测试人员在测试前就应该清楚对被测对象进行测试的正确结果是什么,这样就可以对测试结果有一个明确的判断。,(,2,)测试集,测试集就是一组测试用例,这些测试用例要求有相同的测试,Fixture,,以保证这些测试不会出现管理上的混乱。,xUnit,介绍,(,续,),xUnit,测试框架的四要素(续),(,3,)测试执行,单个单元测试的执行可以按下面的方式进行:,setUp();/*,首先,我们要建立针对被测程序单元的独立测试环境*,/,/*,然后,编写所有测试用例的测试体或测试程序,*/,tearDown();/*,最后,无论测试成功还是失败,都将环境进行清理,以免影响后继的测试,*/,(,4,)断言,断言实际上就是验证被测程序在测试中的行为或状态的一个宏或函数。断言失败实际上就是引发异常,终止测试的执行。,6,/13,xUnit,测试流程,对,Fixture,进行初始化,以及其他初始化操作。,按照要测试的某个功能或流程对,Fixture,进行操作。,验证结果是否正确。,对,Fixture,的以及其他的资源释放等做清理工作。,xUnit,介绍,(,续,),7,/13,Junit,的起源,JUnit,的目标,使用,JUnit,的好处,JUnit,测试的编写原则,JUnit,的特征,JUnit,的核心包,Junit,的,4,个重要类:,TestSuite,、,TestCase,、,TestResult,和,TestRunner,Junit,的两个重要接口:,Test,和,TestListener,JUnit,框架的组成,JUnit,单元测试工具,8,/13,有两种方式:一种是最直接的方式:配置,JUnit,,通过命令行来建,立。另一种择是使用,Eclipse,中的,JUnit,插件来建立。,独立,JUnit,的测试环境建立,(,掌握验证安装成功的,3,种方式,),利用,Eclipse,中的,JUnit,插件,JUnit,单元测试环境的建立,9,/13,按照,XP,编程开发方法,则应先编写测试代码,再编写工作代码。要,注意编写那些能通过的测试的测试代码意义不是十分突出,而那些能帮,助我们发现,Bug,的测试代码才有其价值。此外测试代码还应该对工作代,码进行全面的测试。,独立,JUnit,应用,Eclipse,中的,JUnit,应用,JUnit,单元测试方法,独立,JUnit,测试环境的建立,(,1,)从,www.junit.org(JUnit,官方网站,),下载最新的,JUnit,包,(,2,)将,JUnit,的压缩包解压到硬盘上,(,3,)将,JUnit,的,jar,包添加到环境变量,classpath,中。,(,4,)测试安装是否成功。,批处理方式,在,cmd,命令行输入如下所示的命令。,java junit.textui.TestRunner,利用,Eclipse,中的,JUnit,插件,由于,Eclipse,中已经集成了,JUnit,插件,所以可以直接建立测试用例来测试代码。若没有集成,jUnit,,只需要特别的配置就可以了。,(,1,)创建的一个新的,Java,项目,(,2,)右击在新建的,Java,项目,在弹出的菜单中选择“,Properties,”,(,3,)依次选择“,Java Build Path|Libraries,”,单击“,Add External JARS,”按钮,导航至,JUnit,解压缩的目录,选择,junit.jar,包,打开即可。,(4),随便建立一个,Java,文件,右击这个文件,在菜单中选择“,new,”,这时候里面会出现有一个“,JUnit Test Case,”选项,单击它,就可以创建,JUnit,测试用例了。,独立的,Junit,应用步骤,(,1,)创建一个简单的,java,类,(,2,)创建该类的测试类,放于同一个目录下。类代码如下,(,3,)编译测试类,(,4,)执行测试,输入如下命令,(,注意这是单独的“,.,”,表示当前路径,),Java junit.textui.TestRunner,.,TestCat,如果想启动,Swing,或,AWT,的,Junit,界面来执行测试,则输入命令,Java junit.swingui.TestRunner,.,TestCat,15,/13,借用经典的售货机,Java,例子来说明,JUnit,测试过程,JUnit,单元测试应用举例,16,/13,JUnit,单元测试应用举例,(,续,),测试顺序,JUnit,会以如下顺序执行测试(,大致的代码):,Try,SaleMachineTest test=new SaleMachineTest();/,建立测试类实例,Test.setUp();/,初始化测试环境;,Test.testOperation1,();,/,测试某个方法,Test.testDown();/,清理资源,catch,如果有多个,testXxx,方法,,JUnit,将会创建多个,XxxTest,实例。每次运行一个,testXxx,方法时,,setUp(),和,tearDown(),便会在,testXxx,方法前后调用,因此,不要在一个,testA(),中依赖,testB,()。,测试结果,直接运行“,Run,”,|,“,Run As,”,|,“,JUnit Test,”,就可以看到,JUnit,测试结果。,绿色表示测试通过,只要有一个测试未通过,就会显示红色并列出未通过测试的方法。可以试图改变,Beer,输入数据,然后再运行,JUnit,就会报告错误。,静态类,junit.framework.Assert,的使用方法,灵活地运用这些方法对用好,JUnit,进行测试时非常有帮助的:,assertEquals(),方法:用来查看对象中存储的值是否是期待的值,与用于字符串比较的,equals(),方法类似。,assertFalse(),和,assertTrue(),方法:用来查看变量是否为,false,或,true,。如果,assertFalse,()查看的变量值为,false,,则测试成功;如果是,true,,则失败。,assertTrue,()与之相反。,assertSame,()和,assertNotSame(),方法:用来比较两个对象的引用是否相等和不相等,类似于通过“,=,”和“!,=,”比较两个对象。,assertNull,()和,assertNotNull,()方法:用来查看对象是否为空和不为空。,fail,()方法:意为失败,用来引发错误。该方法有两个用途:一是在测试驱动开发中,由于测试用例都是在被测试的类之前编写,而写成时又不清楚其正确与否,此时就可以使用,fail,()方法引发错误进行模拟;二是引发意外的错误,比如测试的内容是从数据库中读取的数据要测试其是否正确,而导致错误的原因却是数据库连接失败。,20,/13,CppUnit,也是,xUnit,家族中的一员,它是一个用,C+,语言实现的单元测试框架。,CppUnit,按照层次来管理测试。,可以通过派生,TestFixture,类来设计某个类或某组相关功能的单元测试。,CppUnit,单元测试工具,21,/13,Linux,下安装,VC6/Windows,下安装,MinGW/Eclipse/Windows,下安装,CppUnit,单元测试环境建立,22,/13,CppUnit,核心部分,(Core),输出部分,(Output),辅助部分,(Helper),扩展部分,(Extension),监听者部分,(Listener),界面部分,(UI),移植,(Portability),CppUnit,功能和使用流程,23,/13,CppUnit,功能和使用流程,(,续,),上机实验内容,请按实验指导书步骤完成实验。,主要内容:,一、单元测试框架,Junit,工具的使用,1.,独立,Junit,测试环境的建立,2.,利用,Eclipse,中的,Juit,插件,3.Junit,单元测试应用举例,二、单元覆盖测试(自学),Junit,下的覆盖测试工具,EclEmma,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服