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"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |