inheritGroups = true 默认是true,该方法用于限定在class类级别上,限制class类中的@BeforeClass和
@AfterClass注解的方法是否执行
@Test(groups = "级别1")
public class Testc {
@Test(groups="级别1")
public void testc_1(){
System.out.println("testccc_1级别1执行了");
}
@Test(groups="级别2")
public void testc_2(){
System.out.println("testccc_2级别2执行了");
}
@BeforeClass(inheritGroups = false)
public void testc_3(){
System.out.println("testccc_3级别3执行了");
}
@AfterClass(inheritGroups = false)
public void testc_4(){
System.out.println("testccc_4级别3执行了");
}
}
执行上文中的Testc类,结果如下:
testccc_3级别3执行了
testccc_1级别1执行了
testccc_2级别2执行了
testccc_4级别3执行了
Default Suite
Total tests run: 2, Failures: 0, Skips: 0
由此可见,inheritGroups的设置,对于直接执行整个测试类来说没有影响。
利用xml文件,按照类级别的分组,执行测试类:
注意⚠️:此处是类级别,class类上必须有@Test(groups = “级别1”)的注解
执行XML后结果如下:
testccc_1级别1执行了
testccc_2级别2执行了
套件
Total tests run: 2, Failures: 0, Skips: 0
若对Testc中的testc_3方法inheritGroups的设置删除,默认为true
@BeforeClass()
public void testc_3(){
System.out.println("testccc_3级别3执行了");
}
执行结果为:
testccc_3级别3执行了
testccc_1级别1执行了
testccc_2级别2执行了
套件
Total tests run: 2, Failures: 0, Skips: 0
由此可见,inheritGroups的设置,在通过XML执行类级分组脚本时,决定@BeforeClass和@AfterClass注解的方法是否执行。注意:此处的分组必须为class类级,不能为方法级分组注解



