首页 > 代码库 > 单元测试简单入门总结

单元测试简单入门总结

先说一下今天的简单总结:

用JUnit跑单元测试,首先得有JUnit包,有工程需要的其他包。 而在eclipse中默认不会包含测试包,所以需要引入。其次,如果是maven工程,本地的包可能不全,要将依赖的包都下载。跑一下mvn eclipse:eclipse即可。


1、引入JUnit包:工程右键——properties——java build path——Libraries——add library...,选择JUnit——next——选版本——finish。

2、生成JUnit 测试用例,选择要进行测试的类,右键——new——junit test case——确认测试类信息——选择方法——finish。

3、跑测试用例,打开文件,文件内部右键——run as(debug as)——junit test。

跑单个测试用例,选中要跑的测试用例,右键——run as(debug as)——junit test。

4、测试用例声明:

@Test声明为测试用例

@Ignore 忽略此测试用例,不用执行。

@Before 在任何测试用例执行之前执行,主要用来作初始化操作。酱紫,可以保证所有测试用例执行时候的条件是一致的,可以比较不同测试用例的执行结果。有多少个测试用例要跑,就要执行多少次。

@After 在任何测试用例执行之后执行,主要用来做些收尾的工作。赶脚有点像finally之类的。有多少个测试用例要跑,就要执行多少次。

@BeforeClass 在所有测试用例之前执行的方法,用来做一些比较麻烦的准备工作。但与Before有差别,此方法只执行一次,且一个测试类中,只能有一个方法被标注为BrforeClass。

@AfterClass 在所有测试用例之后执行的方法。此方法只执行一次,且一个测试类中,只能有一个方法被标注为@AfterClass。

@Test(timeout=1000) 为测试方法设定执行时间,超过时间就会被系统强行终止。单位是毫秒。

@Test(expected=IOException.class)表示方法应该抛出IO异常

@RunWith(TestClassRunner.class) 用来指定运行期,默认是TestClassRunner.class

@RunWith(Parameterized.class) 参数化测试,用来运行一列参数的情况。

@RunWith(Suite.class)打包测试类

用例:

import  org.junit.runner.RunWith;
 import  org.junit.runners.Suite;
 
 @RunWith(Suite. class )
 @Suite.SuiteClasses( {
         CalculatorTest. class ,
         SquareTest. class 
         } )
 public   class  AllCalculatorTests  {
 } 


友情链接:

写得很棒:点击打开链接


自我批评:

今儿第一次跑单元测试,作为一个工作半年多的码农,真是够挫的。


单元测试简单入门总结