我设计了一个小型测试用例类,旨在简化模拟(在本例中,使用JUnit 4和EasyMock)。部分测试是在测试完成后验证模拟,因此模拟在使用@After注释的方法中进行验证。
但是,如果测试方法本身出现故障,导致测试无法完成并且模拟验证失败,则JUnit报告的失败是验证失败。但是,如果报告的失败是测试本身的失败,那将会更有用。
那么,JUnit中是否有一种方法可以确保测试方法中的错误/失败总是优先于@After注释的方法中出现的错误/失败?
答案 0 :(得分:2)
通常,@ After注释相当于 tearDown(),它暗示它应该只进行测试清理,而不是运行测试或进行断言。
我会让你的测试用例在每个测试用例结束时调用你的“verify”方法,而不是让JUnit为你调用它
答案 1 :(得分:0)
你在测试中做了什么声明正在报告@After中的验证?如果存在断言失败(或者调用了fail()方法),则会报告该断言,并且不会报告after方法。测试方法是什么样的?