如何解决测试超时不适用于挂起的随机数生成器
我写了一个测试来检查 RNG 是否挂起
public class StringUtilsTest {
@Test
@Timeout(value = 10)
public void repeated_generateRandomStringOfDigits() {
for (int i=0; i<5; ++i) {
StringUtils.generateRandomStringOfDigits(10);
try {
Thread.sleep(1);
} catch (InterruptedException ie) {
Thread.currentThread().interrupt();
}
}
}
}
但它没有按预期工作:如果 RNG
挂起,则测试也挂起,忽略超时。
如何实现?
解决方法
使用它代替@Timeout :
@Rule
public Timeout timout = Timeout.millis(10000); // in milliseconds
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。