1.junit4快速入门
1.1 junit4的简洁:
junit4的官网(junit.org)有详细定义:junit is a simple framework to write repeatable tests.it is an instance of the xunit architecture for unit testing framework.意思是:junit是一个用于编写可复用测试集的简单框架,它是xunit的子集。那么xunit是什么呢?xunit是一套基于测试驱动开发的测试框架。使我们能够快速的写单元测试。xunit的家族成员众多,其中包括python的单元测试pythonunit,面向c++的cppunit以及用于java测试的junit等。
junit托管在github上,网址为http://github.com/junit-team/junit/wiki/download-adn-install,junit有两个包,分别是junit.jar和hamcrest-core.jar。
1.2 junit3和junit4的区别:
①junit4所有的测试方法前用@test注释,junit3的测试方法必须是以test作为前缀。
②junit3必须继承junit.framework.testcasel类,而junit4不需要继承任何类
③另外,junit3初始化资源的方法必须命名为setup,测试结束后,释放资源的方法必须命名为teardown,而junit4完全没有限制
1.3 我们为什么要使用junit呢?
使用断言机制,将期望的结果跟运行的结果比对,给出测试结果。方便、高效、分离。
1.4 如何开发测试用例
工具:eclipse,由于eclipse包含了junit4,所以不再单独下载。
首先贴一下代码结构图:
①新建一个java project,命名为junit4demo;
②在src上,创建一个新的包:com.mac.unit;
③写一个用于被测试的类,在包com.mac.unit下,命名为calculator,该类有四个方法,进行加减乘除运算;
④接下来,我们导入junit包,在项目上,单击右键,build path->add library->junit->next->选择junit4->finish.这样,在项目的树状结构中就能看到junit4的文件夹。
⑤新建测试类,在当前包中,new ->junit test case,命名为calculatortest。这个测试类会自动生成一个模板,我们仿照它写一个我们自己的测试方法。
添加我们的方法,并将test方法删除:
⑥运行上面这个测试类calculatortest,右键->run as ->junit test.运行结果如下图:
扩展一下:
介绍一下junit视图:
runs:表示测试正确执行的方法
errors:表示错误的方法
failures:表示期望结果跟测试结果不相同的方法
绿色的状态条表示正常执行,红色的状态条表示出现错误或者异常。
包下面的方法前面有绿色对号,表示正常执行,否则就是出现错误或者出现异常的方法。
2.junit4使用详解
2.1 junit4最佳实践
在快速入门中,将测试代码和被测试代码放在同一个包下面,显然这样做不合理,测试代码孩子是在开发时用到,在产品中是不会出现的,因此,需要优化代码结构。
在项目的下面新建一个源文件夹(source folder)test,将测试代码全部放在test下面,这样做得目的是源代码和测试代码分离,并且查阅方便。
在产品最终发布是,将该目录删除即可,不会对项目产生任何影响。
注意:测试包名和被测试代码包名必须相同。
进一步完善测试代码:
测试结果:
juint的使用技巧:
①如果我们只想对某个方法进行测试,只需要打开测试代码的树状结构,选中要测试的方法,右键->run as->junit test即可。
②现在假设我们有很多类,类又有很多方法,我们一个一个的敲出来,这个有点庞大,那么,可否有简单的方法呢?答案是肯定。
在项目名称(假如我的项目是junit4demo)上右键->new->other->在选择向导中输入“junit”->选择junit test case(其实就在java->junit->junit test case)->next,在source folder中选择test,name为calculatortest3,class under test选择被测试的类(com.mac.unit.calculator),然后next,选择要被测试类要测试的方法,然后finish。
以上操作生成的代码如下:
#calculatortest3.java
框架代码已经生成,那么接下来就需要自己去实现测试的逻辑。
本例中的逻辑代码,即测试代码如2.1中最佳实践中优化完善的代码一样,此处就不做展示。
③最简单的生成测试代码:右键选中被测试的类,new->junit test case,在junit testcase窗口中,选择new junit 4 test,source folder选择test源文件,如下图所示:
下面就和②一样了。
ps: (1).测试方法上必须使用@test进行修饰
(2).测试服昂发必须使用public void 进行修饰,不能带任何的参数
(3).新建一个源代码目录来存放我们的测试代码
(4).测试类的包应该和被测试类的包保持一致
(5).测试单元中的每个方法必须可以独立测试,测试方法间不能有任何依赖
(6).测试类使用test作为类名的后缀(不是必须的)
(7).测试方法使用test作为方法名的前缀(不是必须的)
3.junit4的深入使用
4.junit4在web项目中的使用