我有很多测试套件,每个测试套件包含许多测试类。这是他们的样子:
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
类似的内容吗?
答案 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)