【笔记】JunitTest的@Test注解的两个参数

博客中的部分字句引自慕课网的《JUnit-Java单元测试必备工具》公开课程。


@Test:将一个普通的方法修饰成为一个测试方法

@Test
public void testDivide() {
	assertEquals(3, new Calculate().divide(6, 2));
}
上段代码通过@Test注释将testDivide方法修饰成为一个测试方法。

其中 Calculate类中的divide方法实现了两个参数相除的功能。具体实现代码略。

对上段代码执行JunitTest运行,结果如下:







@Test注解有两个参数,分别是“expected=XX.class”以及"timeout=毫秒"。

expected说明期望,如下代码:

@Test(expected=ArithmeticException.class)
public void testDivide2() {
	assertEquals(3, new Calculate().divide(6, 0));
}
如果没加expected,会测试失败,因为0不能被当做除数。

但是加了expected,即表明出现该Exception的情况是正常的,测试通过。结果如下图







timeout参数说明延时,如下代码:

@Test(timeout=3000)
public void testReadFile() {
	try {
		Thread.sleep(5000);
	} catch (InterruptedException e) {
		e.printStackTrace();
	}
}
这里我们测试读取文件时间,当然没有真正读文件,而是通过让系统sleep来达到时间控制的目的。

执行上述代码,会超出我们设定的timeout,就会发生如下图错误:

【笔记】JunitTest的@Test注解的两个参数_第1张图片







如果将Thread.sleep(5000)中的参数改成3000一下,则测试顺利通过。


以上是@Test的两个参数的使用方法。

你可能感兴趣的:(【笔记】JunitTest的@Test注解的两个参数)