将Test Suite设置为忽略

时间:2012-06-12 08:00:46

标签: java junit junit4 test-suite

我有很多测试套件,每个测试套件包含许多测试类。这是他们的样子:

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses( {ATest.class, BTest.class})
public class MyFirstTestSuite {

    @BeforeClass
    public static void beforeClass() throws Exception {
                // load resources
    }

    @AfterClass
    public static void afterClass() throws Exception {
        // release resources

    }
}

有时我想完全禁用整个测试套件。我不想将每个测试类设置为@Ignore,因为每个测试套件都使用@BeforeClass@AfterClass加载和释放资源,我想在测试套件中跳过此加载/释放被忽略了。

所以问题是:我可以在整个测试套件上使用与@Ignore类似的内容吗?

2 个答案:

答案 0 :(得分:7)

您可以使用@Ignore注释TestSuite。

@RunWith(Suite.class)
@SuiteClasses({Test1.class})
@Ignore
public class MySuite {
    public MySuite() {
        System.out.println("Hello world");
    }

    @BeforeClass
    public static void hello() {
        System.out.println("beforeClass");
    }
}

不会产生任何输出。

答案 1 :(得分:-1)

SlowTest是用户定义的类。它可以是空的(没有任何函数或属性)。您可以随意命名:

enter image description here

enter image description here