Junit4单元测试
1.简介
a.Junit4是xUnit的一个子集
b.xUnit是一个驱动测试框架,包括很多东西
c.使用断言机制,对比预期结果与实际结果
2.使用规范
a.测试方法须以@Test修饰
b.测试方法必须是public void,不带参数
c.新建一个Source folder来存放测试类
d.测试类的包名与被测试类应当一致
e.测试单元的每个方法应当独立,互相无依赖
f.测试类名以Test为后缀,最好与被测试类对应
g.测试方法名以test为前缀
3.测试失败
a.Failure: 一般是单元测试使用的断言机制判断失败引起的,是由于输出和预期不一致
b.Error: 这个就是异常了,一般是代码有误或者隐藏的bug.
c.注意:单元测试不是用来证明你是对的,只是用来证明你没有错.
4.运行流程
a.@BeforClass在加载类时执行,静态方法,整个过程只执行一次,多用于加载配置文件等
b.@AfterClass在结束时执行,多用于资源释放,如关闭数据库连接
c.@Before和@After在执行测试方法前后各执行一次,一般放固定代码段
5.常用注解
a.@Test
@Test(expected=XXXX.class)
//捕获异常 @Test(expected=ArithmeticException.class)
@Test(timeout=毫秒)
//超时2秒 @Test(timeout=2000)
b.@BeforeClass/@AfterClass
c.@Before/@After
d.@Ignore
e.@RunWith
6.测试套件
a.Junit4的批量测试方法
b.写一个测试套件入口类,该类为空,不包含任何方法
c.用Runwith注解更改测试运行器 @Runwith(Suite.class)
d.将测试类以数组的方式传入该入口@Suite.SuiteClasses({test1,test2,...})
e.也可以将其他套件传入
7.参数化设置
a.更改默认测试运行器为RunWith(Parameterized.class)
b.声明变量来存放预期值和结果值
c.声明一个返回类型为Collection的公共静态方法,并使用@Parameter修饰
d.为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值
8.Spring和Hibernate中的应用
自己瞅去
回到顶部