检查抛出的异常
1.@Test(expected…)
@Test(expected = 异常类.class)
public void test() {
...
}
2.ExpectedException
@Rulepublic ExpectedException expectedEx = ExpectedException.none();
@Test public void testValidationException() throws IllegalArgumentException { //写在抛出异常之前。expectedEx.expect(IllegalArgumentException.class); //断言得到的错误信息内容
}
3.Try/catch with assert/fail
使用try/catch语句块检查异常
@Test
public void test() {
......
try {
......}
catch (IllegalArgumentException e) {
.....
}
}
如果异常已经被catch
通过对控制台的信息进行捕获来断言已经被捕获的异常及异常信息:将System Rules这个开源工具包,将System.out 及 System.err的字节流通过该工具下的对应规则进行暂存,在实际测试方法通过getLog()中是否包含异常类型及异常消息来进行断言