当预期的异常发生时,它是否应该通过测试?
当出现意外异常时,测试是否会失败?
处理异常是否多余,因为它会使测试失败并因此充当测试?
测试预期的异常
你必须添加expected
属性具有预期的异常,因此如果抛出指定的异常,测试将通过。否则就会失败。
例如:
@Test(expected=NullPointerException.class)
public void cannotConvertNulls() {
service.convert(null);
}
or...
@Test(expected = ArithmeticException.class)
public void divisionWithException() {
int i = 1/0;
}
文档 http://junit.sourceforge.net/javadoc/org/junit/Test.html says:
Test 注释支持两个可选参数。首先,
Expected,声明测试方法应该抛出异常。如果它
不抛出异常或者抛出与以下不同的异常
声明称,测试失败。
测试超时
只是想让您知道,您还可以测试超时。
第二个可选参数超时会导致测试失败,如果
花费的时间比指定的时钟时间长(以
毫秒)。以下测试失败:
@Test(timeout=100)
public void infinity() {
while(true);
}
希望能有所帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)