子类TestCase并使用JUnit 4注释

时间:2013-06-28 09:26:58

标签: java junit

为了测试我定义的Map类,我从Google Collections库扩展了MapInterfaceTest

问题是我想在这个类中添加更多测试,并且能够在开发时忽略具有@Ignore注释的特定长期运行或损坏的测试,但是因为MapInterfaceTest扩展了TestCase,所以测试在Junit3兼容模式下运行,并注释被忽略。

有没有办法让Junit尊重扩展TestCase的测试类的注释?

1 个答案:

答案 0 :(得分:2)

在测试课上试试这个注释。

@RunWith(JUnit4.class)
public class MyTestCase extends MapInterfaceTest {...}

这应该迫使Junit在执行中使用Junit4而不是Junit3。也许这适用于你的Testcase。

但是,JUnit4不会选择旧式的“test *”测试方法,因为它依赖于@Test注释。如果您正在扩展的类没有这些注释而您无法直接添加它们,则可以覆盖测试以便在子类中添加注释,如下所示:

@Test
@Override
public void testFoo()
{
    super.testFoo();
}