我正在学习JUnit 4.我遇到了注释@Test(Timeout =)。当我运行此测试用例并且执行时间超过指定的毫秒时,如果显示为错误。我想它应该失败!如果有人能解释我为什么这是一个错误而不是失败。感谢
答案 0 :(得分:2)
失败是因为你做出断言而结果是假的。这意味着您的代码没有产生正确的结果来满足您的测试。或者您的测试代码错误。
错误是指出现意外情况并阻止您的测试正常完成。超时非常适合这一类别 - 它们是一个安全网,可确保您的构建始终完成,即使您的测试自行消失也是如此。通过使用超时,你不做出关于运行时的断言,你只是在防御无限构建。