Pra*_*nna 6 java timeout junit4
当我使用注释@Test(timeout = 3000)运行测试并且超时时,它会立即终止测试并且不会调用使用@After注释的tearDown方法.
在这种情况下清理的方法是什么?
编辑:我的测试是通过线路使用jax-rs调用资源端点,测试在http请求中间超时.这是我相当确定@After没有被调用的情况
严格来说,它不会杀死测试,而是会失败。这显然意味着注释的方法@After将运行。
下面的代码对我来说就像魅力一样。
@Test(timeout=1)
public void testTimeout() {
try {
Thread.sleep(10);
} catch (InterruptedException ex) {}
}
@After
public void after() {
System.out.println("@After is invoked, indeed.");
}
Run Code Online (Sandbox Code Playgroud)
输出是,
Testsuite: javaapplication1.MainTest
After is invoked, indeed.
Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.054 sec
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2146 次 |
| 最近记录: |