Vic*_*tor 5 java junit unit-testing
它应该在预期的异常发生时通过测试吗?如果出现意外异常,它是否应该通过测试?处理异常是多余的,因为它将无法通过测试,因此可以作为测试吗?
Fed*_*zza 11
您必须添加expected具有预期异常的属性,因此如果抛出指定的异常,测试将通过.否则,它将失败.
例如:
@Test(expected=NullPointerException.class)
public void cannotConvertNulls() {
service.convert(null);
}
Run Code Online (Sandbox Code Playgroud)
要么...
@Test(expected = ArithmeticException.class)
public void divisionWithException() {
int i = 1/0;
}
Run Code Online (Sandbox Code Playgroud)
文件说:
Test annotation支持两个可选参数.第一个是预期的,声明测试方法应该抛出异常.如果它不抛出异常或抛出与声明的异常不同的异常,则测试失败.
只是为了让您知道,您还可以测试超时.
第二个可选参数timeout会在测试时间超过指定的时钟时间(以毫秒为单位)时导致测试失败.以下测试失败:
@Test(timeout=100)
public void infinity() {
while(true);
}
Run Code Online (Sandbox Code Playgroud)
希望能有所帮助
| 归档时间: |
|
| 查看次数: |
901 次 |
| 最近记录: |