Junit学习报告

使用JUnit4进行单元测试

以下列出一些Annotation


@Test

你要在方法的前面使用@Test 标注,以表明这是一个测试方法。对于方法的声明也有如下要求:

  • 名字可以随便取,没有任何限制
  • 返回值必须为 void
  • 不能有任何参数

@After

使用了该元数据的方法在每个测试方法执行之后都要执行一次

@Before

使用了该元数据的方法在每个测试方法执行之前都要执行一次

@ignore

这个标注的含义就是―某些方法尚未完成,暂不参与此次测试。这样的话测试结果就会提示你有几个测试被忽略,而不是失败。一旦你完成了相应函数,只需要把@Ignore 标注删去,就可以进行正常的测试。

assertEquals(expect, result);

判断期待结果和实际结果是否相等,第一个参数填写期待结果,第二个参数填写实际结果

Fixture

任何一个测试执行之前必须执行的代码就是一个 Fixture,我们用@Before 来标注它。Fixture的含义就是在某些阶段必然被调用的代码。同理,如果在任何测试执行之后需要进行的收尾工作也是一个 Fixture,使用@After 来标注。

@BeforeClass 和 @AfterClass

从名字上就可以看出,用这两个 Fixture 标注的函数,只在测试用例初始化时执行@BeforeClass 方法,当所有测试执行完毕之后,执行@AfterClass 进行收尾工作。在这里要注意一下,每个测试类只能有一个方法被标注为@BeforeClass 或 @AfterClass,并且该方法必须是 Public和 Static 的。

限时测试

一般用于死循环检测

@Test(timeout = 1000)

异常检测

我们需要使用@Test 标注的 expected 属性,将我们要检验的异常传递给他,
这样 JUnit 框架就能自动帮我们检测是否抛出了我们指定的异常

@Test(expected = ArithmeticException.class)  
    public void divideByZero() {  
    calculator.divide(0);  
}  

猜你喜欢

转载自blog.csdn.net/huangbx_tx/article/details/79889139