2015-02-10 43 views
2

我正在学习JUnit 4.我遇到了注解@Test(Timeout =)。当我运行这个测试用例时,如果执行超过指定的毫秒数,则显示为Error。我想这应该是失败!如果有人能解释我为什么这是一个错误而不是失败。由于为什么JUnit超时错误没有失败?

Screenshot of JUnit in Eclipse Luna

+0

非常相关:[JUnit中的失败和错误有什么区别?](http://stackoverflow.com/questions/3425995/whats-the-difference-between-failure-and-error-in-junit)。 – 2015-02-10 13:59:07

回答

2

故障是当你做出断言的,它原来是假的。这意味着你的代码没有产生正确的结果来满足你的测试。或者你的测试代码是错误的。

错误是指当发生意外事件并防止您的测试正常完成时。超时很适合这个类别 - 它们是一个安全网,以确保您的构建将始终完成,即使您的测试自行消失。通过使用超时,你是而不是作出关于运行时的断言,你只是防御无限的构建。

+0

很好的解释,尤其是第二段。谢谢你,先生 – Ajeetkumar 2015-02-11 05:08:45

相关问题