0

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

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

有什么方法可以让 Junit 尊重扩展 TestCase 的测试类上的注释?

4

1 回答 1

2

在你的测试课上试试这个注解。

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

这应该强制 Junit 在执行中使用 Junit4 而不是 Junit3。也许这适用于您的测试用例。

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

@Test
@Override
public void testFoo()
{
    super.testFoo();
}
于 2013-06-28T09:53:59.337 回答