我有一个@BeforeSuite
注释的方法。
public class MySuiteTest {
@BeforeSuite
public static void doSomethingVeryMandatory() {
// say, boot up an embedded database
// and create tables for JPA-annotated classes?
}
}
public class MySingleTest {
@Test
public void doSomething() {
// say, tests some MyBatis mappers against the embedded database?
}
}
当我测试整个测试时,
$ mvn clean test
一切安好。
@BeforeSuite
运行和@Test
运行。当我尝试测试一个类(class)时
$ mvn -Dtest=MySingleTest clean test
不调用
doSomethingVeryMandatory()
。这正常吗?
最佳答案
您的@BeforeSuite和@Test在不同的类中。当您运行一个类时,testng会生成一个默认的suite.xml,其中只包含一个类。因此,您的@BeforeSuite对testng不可见。您可以在测试类中扩展MySuiteClass,也可以创建套件文件并按照注释中的建议运行套件文件。