欢迎来到天天文库
浏览记录
ID:9401317
大小:255.37 KB
页数:11页
时间:2018-04-30
《junit使用方法以及测试代码覆盖率》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Junit一、什么是junit采用测试驱动开发的方式,在开发前先写好测试代码,主要说明被测试的代码会被如何使用,错误处理等,然后开始写代码。并在测试代码中逐步测试这些代码。直到最后在测试代码中完全通过。二、Junit功能1)管理测试用例。修改了哪些代码。这些代码的修改会对哪些部分由影响,通过junit将这次的修改做完成测试。2)定义了测试代码,textcase根据源代码的测试需要定义每个textcase,并将Textcase添加到相应的Textsuit以方便管理。3)定义测试环境,在Textcase测试前会先调用“环境”配置
2、。在测试中使用,当然也可以在测试用例中直接定义测试环境。4)检测测试结果。对于每种正常、异常情况下的测试,运行结果是什么。结果是够是我们预料的等。都需要有明确的定义。Junit在这方面提供了强大的功能。三、Junit核心类Textsuit:测试用例的集合Textcase:定义运行多个测试用例TextListener:测试中若产生事件,会通知TextListenerBaseTextRunner:TextRunner用来启动测试界面TextResult:收集一个测试案例的结果。测试结果分为失败和错误。Assert:当条件成立时,
3、assert方法保持沉默,但若条件不成立就抛出异常四、使用举例4.1方法一:第一步、新建一个Android项目JUnit_Test,file-new-androidproject,然后编写一个Calculator类,newjavaclass,实现简单的加、减、乘、除的计算器,然后对这些功能进行单元测试。类的代码如下:packagecom.neusoft;publicclassCalculator{privateintresult;publicvoidadd(intn){result=result+n;}publicvoids
4、ubstract(intn){result=result-1;//Bug:正确的应该是result=result-n}publicvoidmultiply(intn){}publicvoiddivide(intn){result=result/n;}publicvoidsquare(intn){result=n*n;}publicvoidsquareRoot(intn){for(;;);//Bug:}publicvoidclear(){result=0;}publicintgetResult(){returnresult;}
5、}第二步、将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,在弹出的属性窗口中,首先在左边选择“JavaBuildPath”,然后到右上选择“Libraries”标签,之后在最右边点击“AddLibrary…”按钮, 然后在新弹出的对话框中选择JUnit4并点击确定,JUnit4软件包就被包含进我们这个项目了。第三步、在Eclipse的PackageExplorer中用右键点击该类弹出菜单,选择new—选择“JunitTextCase”。在弹出窗口,选择newJUnit4text,在whichmethods
6、tubswouldyouliketocreat?处选择setUp。点击“next”后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。此处,我仅对“加、减、乘、除”四个方法进行测试。点击Finish后,系统会自动生成一个新类CalculatorTest,里面包含一些空的测试用例。只需要将这些测试用例稍作修改即可使用。完整的CalculatorTest代码如下:packagecom.neusoft;importstaticorg.junit.Assert.*;importorg.junit.Before;impor
7、torg.junit.Test;importorg.junit.Ignore;publicclassCalculatorTest{privatestaticCalculatorcalculator=newCalculator();@BeforepublicvoidsetUp()throwsException{calculator.clear();}@TestpublicvoidtestAdd(){calculator.add(2);calculator.add(3);assertEquals(5,calculator.get
8、Result());}@TestpublicvoidtestSubstract(){calculator.add(10);calculator.substract(2);assertEquals(8,calculator.getResult());}@Ignore("Multiply()N
此文档下载收益归作者所有