由于我有一组连接远程服务的scala测试(其中一些在测试执行时可能无法使用),我想有一种方法来指示应该忽略的Scala测试,如果超时超过了预期的阈值。
事实上,我可以在将来附上一个测试的主体并让它自动通过,如果超时超时但是慢慢地通过测试会让我觉得有风险。如果在测试运行期间明确跳过它会更好。所以,我真正想要的是以下内容:
ignorePast(10 seconds) should "execute a service that is sometimes unavailable" in {
invokeServiceThatIsSometimesUnavailable()
....
}
查看ScalaTest文档,我没有看到直接支持此功能,但怀疑可能还有其他功能需要添加此功能?实际上,我可以在“慢”测试中添加一个“标记”并告诉跑步者不要执行它们,但我宁愿在超出超时时自动跳过测试。
答案 0 :(得分:1)
我认为这不是你测试框架应该负责的事情。 将invokeServiceThatIsSometimesUnavailable()包装在异常处理块中,你会没事的。
try {
invokeServiceThatIsSometimesUnavailable()
} catch {
case e : YourServiceTimeoutException => reportTheIgnoredTest()
}
答案 1 :(得分:0)