我很少有一个测试属于一个组(烟或回归),而其他几个测试则属于多个组(烟和回归)。
当我尝试执行一组“烟雾”或“回归”时,仅执行其中任一组的仅部分的测试,而排除属于多个组的任何测试即使它们也是指定组的一部分。
我尝试了以下选项来分别执行Smoke和Regression组案例:
mvn test -Dgroups=Smoke
mvn test -Dincludedgroups=Smoke
mvn test -Dexcludedgroups=Regression
mvn test -Dgroups=Regression
mvn test -Dincludedgroups=Regression
mvn test -Dexcludedgroups=Smoke
测试方法:
@Test(groups={"Smoke"})
public void One(){
System.out.println("Smoke Test Message");
}
@Test(groups={"Smoke", "Regression"})
public void Two() {
System.out.println("Smoke and Regression Test Message");
}
@Test(groups={"Regression"})
public void Three() {
System.out.println("Regression Test Message");
}
TestNG XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestNGSuite">
<test name="GroupTests">
<classes>
<class name="tests.PageTest"/>
</classes>
</test>
</suite>
对于选项1至3:
预期:方法一和方法二应该执行
实际:单独执行一种方法
对于选项4至6:
预期:应执行方法2和3
实际:方法三可以单独执行