为了测试我定义的Map类,我从Google Collections库扩展了MapInterfaceTest。
问题是我想在这个类中添加更多测试,并且能够在开发时忽略具有@Ignore注释的特定长期运行或损坏的测试,但是因为MapInterfaceTest扩展了TestCase,所以测试在Junit3兼容模式下运行,并注释被忽略。
有没有办法让Junit尊重扩展TestCase的测试类的注释?
答案 0 :(得分:2)
在测试课上试试这个注释。
@RunWith(JUnit4.class)
public class MyTestCase extends MapInterfaceTest {...}
这应该迫使Junit在执行中使用Junit4而不是Junit3。也许这适用于你的Testcase。
但是,JUnit4不会选择旧式的“test *”测试方法,因为它依赖于@Test
注释。如果您正在扩展的类没有这些注释而您无法直接添加它们,则可以覆盖测试以便在子类中添加注释,如下所示:
@Test
@Override
public void testFoo()
{
super.testFoo();
}