忽略父抽象类中的Junit测试

忽略父抽象类中的Junit测试,junit,annotations,abstract-class,junit4,Junit,Annotations,Abstract Class,Junit4,我有一大组单元测试需要忽略一段时间,所有这些单元测试都扩展了一个抽象类,如下所示: public class MyAbstractTest { @BeforeClass public void init(){ //global init for all unit tests } public void some_parent_methods(){ // some code } } 我在想,仅仅在摘要中添加@Ignor

我有一大组单元测试需要忽略一段时间,所有这些单元测试都扩展了一个抽象类,如下所示:

public class MyAbstractTest {

    @BeforeClass
    public void init(){

        //global init for all unit tests
    }

    public void some_parent_methods(){
        // some code
    }
}
我在想,仅仅在摘要中添加
@Ignore
将忽略所有子测试,但它不能像这样工作


有没有办法(使用Junit 4.x)将
@Ignore
放在所有子类上(特别是如果有数百个子类的话)?

我认为
类别
可以满足您的要求:

我找到了一种很好的方法(而且很快),可以使用摘要临时禁用整个测试集:

我刚刚在抽象类中添加了以下代码:

@Before
public void init() {
    Assume.assumeTrue(false);
}

它不使用
@Ignore
注释,但在结束时,所有测试都以与使用它时相同的方式跳过

对于您正在使用的构建工具来说,这不是一个更大的问题吗?@imrichardcole也许,但我在maven和Eclipse环境中获得了相同的行为(不忽略抽象上的if注释)。因此,它需要重构所有现有测试以“分类”测试。但是使用它们看起来很有趣。