【笔记】JunitTest的@Test注解的两个参数博客中的部分字句引⾃慕课⽹的《JUnit-Java单元测试必备⼯具》公开课程。楷模的意思
@Test:将⼀个普通的⽅法修饰成为⼀个测试⽅法
@Test
心照不宣的意思public void testDivide() {
asrtEquals(3, new Calculate().divide(6, 2));
初学者画画}
上段代码通过@Test注释将testDivide⽅法修饰成为⼀个测试⽅法。
其中 Calculate类中的divide⽅法实现了两个参数相除的功能。具体实现代码略。
对上段代码执⾏JunitTest运⾏,结果如下:
影响因素分析
@Test注解有两个参数,分别是“expected=XX.class”以及"timeout=毫秒"。
expected说明期望,如下代码:
@Test(expected=ArithmeticException.class)
public void testDivide2() {
asrtEquals(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,就会发⽣如下图错误:
如果将Thread.sleep(5000)中的参数改成3000⼀下,则测试顺利通过。
以上是@Test的两个参数的使⽤⽅法。
三可影视