术语
- mock
mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法
java单元测试框架介绍
- junit
junit3,junit4,junit5
不支持mock,不能进行http测试 - TestNG
- spring-test
junit3
已经过时了
1.测试类必须继承类TestCase
2.测试方法必须以test开头
junit4
- 测试类不需要继承TestCase;
- 测试方法命名没有特定要求,只要在待测方法前加上@Test即可;
- 通过@befroe替代setUp方法,@After替代tearDown方法
- @Before和@After
在一个测试类中,甚至可以使用多个@Before来注释多个方法,这些方法都是在每个测试之前运行。但是,@Before是在每个测试方法运行前均初始化一次,同理@After是在每个测试方法运行完毕后,均运行一次,也就是说,经过这两个注释的初始化和注销,可以保证各个测试方法之间的独立性而互不干扰,它的缺点是效率低。 - @BeforeClass和@AfterClass
使用这两个注释的方法,在该测试类中,在测试方法之前和之后各运行一次,而不是按照各个方法各运行一次。对于一些资源消耗大的项目,可以使用这两个注释。@BeforeClass和@AfterClass注解的方法必须是static. - 异常测试和超时测试
Junit4可以进行异常测试
@Test(expected=*.class)
和超时测试@Test(timeout=xxx)
- test执行顺序
按照设计,Junit不指定test方法的执行顺序。到目前为止,这些test方法仍是简单地根据反射API返回的顺序来执行。
资料
【1】junit5,https://www.ibm.com/developerworks/cn/java/j-junit5/