Jie*_*eng 8 java junit exception
我有类似的东西
@Test(expected = IllegalArgumentException.class)
public void cdIntoNonExistantFolder() {
cdTool.changeDirectory("nonexistant");
assertThat(cdTool.getStatusCode(), not(equalTo(0)));
}
Run Code Online (Sandbox Code Playgroud)
我相信assertThat
不会运行changeDirectory
会抛出异常.是否有可能使它仍然运行?
Mat*_*ttR 13
你可以使用finally
:
@Test(expected = IllegalArgumentException.class)
public void cdIntoNonExistantFolder() {
try {
cdTool.changeDirectory("nonexistant");
}
finally {
assertThat(cdTool.getStatusCode(), not(equalTo(0)));
}
}
Run Code Online (Sandbox Code Playgroud)
我宁愿避免在单元测试中使用任何try/catch结构.这是Catch-Exception的一种可能性:
@Test
public void cdIntoNonExistantFolder() {
catchException(cdTool).changeDirectory("nonexistant");
assertThat(caughtException(), instanceOf(IllegalArgumentException.class));
assertThat(cdTool.getStatusCode(), not(equalTo(0)));
}
Run Code Online (Sandbox Code Playgroud)
或者使用JUnit 5:
@Test
public void cdIntoNonExistantFolder() {
expectThrows(IllegalArgumentException.class, () -> {
cdTool.changeDirectory("nonexistant");
});
assertThat(cdTool.getStatusCode(), not(equalTo(0)));
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5717 次 |
最近记录: |