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