din*_*igo 3 java testing junit
我想测试一段时间,比如5秒钟,然后通过测试,如果没有任何错误被断言.这可能带注释吗?可以使用类似的东西@Test(uptime=5000)吗?
修改后的问题被修改后的答案
从根本上说,感觉就像你在这里测试错误的东西 - "没有任何事情发生"似乎很奇怪,这是成功的标志.
如果你想证明你的算法可以运行一段时间而不会失败,我实际上会提取出一个循环,然后写一个类似的测试:
@Test
public void fineForFiveSeconds() {
long start = System.nanoTime();
long end = start + TimeUnit.SECONDS.toNanos(5);
while (System.nanoTime < end()) {
test.executeOneIteration();
}
}
Run Code Online (Sandbox Code Playgroud)
这样你就没有一个单独的线程,它必须杀死工作代码等.
原始答案
这个答案是在问题表明超时是成功的标志,而不是失败之前写的.
我想你只想要注释中的timeout属性@Test:
@Test(timeout = 5000)
Run Code Online (Sandbox Code Playgroud)
有文件:
(可选)指定超时(以毫秒为单位),以使测试方法在超过该毫秒数时失败.
| 归档时间: |
|
| 查看次数: |
1689 次 |
| 最近记录: |