java – TestNG – @AfterMethod的优先级
|
是否可以按特定顺序调用@AfterMethod方法?
我有一个示例代码: public class PriorityTest {
@BeforeClass(alwaysRun = true)
public void setUp() throws Exception {
System.out.println("BeforeClass PriorityTest.java");
}
@Test
public void defaultPriority(){
System.out.println("default");
}
@Test (priority = 3)
public void t1(){
System.out.println("t1");
}
@Test (priority = 2)
public void t2(){
System.out.println("t2");
}
@Test (priority = 1)
public void t3(){
System.out.println("t3");
}
@Test (priority = -1)
public void t_1(){
System.out.println("t -1");
}
@AfterMethod
public void after2(){
System.out.println("after2");
}
@AfterMethod
public void after1(){
System.out.println("after1");
}
} @Test的优先级完美.我想对@AfterMethod做同样的事情,但是当我编写代码@AfterMethod(priority = 1)时,它是编译错误.当我没有优先权时,总是按字母顺序排列(只有方法名称很重要). BeforeClass PriorityTest.java 是否有可能按特定顺序调用该方法(例如特殊参数或注释)? PS.我知道我可以编写一个AfterMethod,然后按特定的顺序调用方法,但我想到许多AfterMethod注释. 解决方法
@AfterMethod不支持优先级参数.但它有依赖于USEOnMethods和dependsOnGroups可以代替使用.
dependsOnMethods
dependsOnGroups
在你的情况下,可以使用dependsOnMethods. @AfterMethod
public void after2(){
System.out.println("after2");
}
@AfterMethod(dependsOnMethods = "after2")
public void after1(){
System.out.println("after1");
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
