Junit Rules,TestCases和继承:它们一起工作吗?

时间:2013-09-06 17:02:12

标签: inheritance junit rules testcase

Junit规则是否适用于在超类中命名的测试?它似乎不是我运行的一些初始测试,其中我继承了一个Test类,并在我的子类中覆盖了命名测试。我找到了:

1)@Ignore注释不会向上级联:它们只会导致我的子类注释被忽略

2)使用提供自定义行为的@Rules似乎也不起作用:@Rule注释似乎不会影响junit TestCase超类的行为。

在任何情况下,我的目标是使用公共规则类忽略我的超类中的一些测试 - 如果这不起作用,那么我将不得不手动覆盖每个失败的测试,这会导致大量死亡代码已添加到我们的代码库中。

1 个答案:

答案 0 :(得分:2)

在子类中使用@Rule将影响子类的运行,包括所有继承的测试。但是,如果超类独立于子类运行,则@Rule将不存在,因此不会影响测试。