Jin*_*won 5 java testng unit-testing maven-surefire-plugin
我有一个带@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?
}
}
Run Code Online (Sandbox Code Playgroud)
当我测试整个测试时,
$ mvn clean test
Run Code Online (Sandbox Code Playgroud)
一切安好。@BeforeSuite运行和@Test运行。
当我尝试测试一个班级时
$ mvn -Dtest=MySingleTest clean test
Run Code Online (Sandbox Code Playgroud)
doSomethingVeryMandatory() 不被调用。
这正常吗?
您的 @BeforeSuite 和 @Test 位于不同的类中。当您运行单个类时,testng 会生成一个默认的 suite.xml,其中仅包含一个类。因此,您的 @BeforeSuite 对 testng 不可见。您可以在测试类中扩展 MySuiteClass 或创建一个套件文件并按照注释中的建议运行该套件文件。
| 归档时间: |
|
| 查看次数: |
2459 次 |
| 最近记录: |