測驗的時候有可能要用到其他測驗結果(是否成功)來執行這個測驗,
就需要用到測驗和測驗之間傳遞引數;TestNG叫做 依賴測驗,
TestNG依賴測驗特點:
1-testNg允許指定依賴關系,如果依賴關系失敗了,則跳過后面的所有方法.
2-如果使用依賴測驗則會在執行該方法時先執行依賴的方法,后執行本方法,
在@Test注釋中使用屬性dependsOnMethods;
或者在@Test注釋中使用屬性dependsOnGroups,
dependsOnMethods
//如果第一方法執行失敗了,第二個就不再執行
package com.lc.testngYiLai; import org.testng.annotations.Test; public class TestNG16 { @Test public void test_method() { System.out.println("TestNG16測驗類的test_method方法;第一個測驗方法"); throw new RuntimeException(); } @Test(dependsOnMethods = {"test_method"}) public void test_method1() { System.out.println("TestNG16測驗類的test_method1方法;第二個測驗方法"); } }


一個方法依賴等多個方法
package com.lc.testngYiLai; import org.testng.annotations.Test; public class TestNG16 { @Test public void test_method1() { System.out.println("TestNG16測驗類的test_method1方法;第一個測驗方法"); //throw new RuntimeException(); } @Test public void test_method2() { System.out.println("TestNG16測驗類的test_method2方法;第二個測驗方法"); } @Test(dependsOnMethods = {"test_method1","test_method2"}) public void test_method3() { System.out.println("TestNG16測驗類的test_method3方法;第三個測驗方法"); } }

dependsOnGroups
package com.lc.testngYiLai; import org.testng.annotations.Test; public class TestNG17 { @Test(groups = "group01") public void deployServer1() { System.out.println("TestNG17類的deployServer1方法"); //int a = 1 / 0 ; } @Test(groups = "group01") public void deployServer2() { System.out.println("TestNG17類的deployServer2方法"); } @Test(dependsOnGroups = "group01") public void deployServer3() { System.out.println("TestNG17類的deployServer3方法"); } }

依賴多個組
package com.lc.testngYiLai; import org.testng.annotations.Test; public class TestNG17 { @Test(groups = "group01") public void deployServer1() { System.out.println("TestNG17類的deployServer1方法"); //int a = 1 / 0 ; } @Test(groups = "group01") public void deployServer2() { System.out.println("TestNG17類的deployServer2方法"); } @Test(groups = "group02") public void deployServer3() { System.out.println("TestNG17類的deployServer3方法"); } @Test(dependsOnGroups = {"group01","group02"}) public void deployServer4() { System.out.println("TestNG17類的deployServer4方法"); } }

如果被依賴的組出錯,不會執行依賴的方法,但會執行被依賴組的所有方法
package com.lc.testngYiLai; import org.testng.annotations.Test; public class TestNG17 { @Test(groups = "group01") public void deployServer1() { System.out.println("TestNG17類的deployServer1方法"); int a = 1 / 0 ;//這個地方拋出錯誤 } @Test(groups = "group01") public void deployServer2() { System.out.println("TestNG17類的deployServer2方法"); } @Test(groups = "group02") public void deployServer3() { System.out.println("TestNG17類的deployServer3方法"); } @Test(dependsOnGroups = {"group01","group02"}) public void deployServer4() { System.out.println("TestNG17類的deployServer4方法"); } }

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/237946.html
標籤:其他
