前面說了,在同乙個類內,testng預設是按照方法名首字母公升序執行方法。這種方式雖然寫起來會方便,個人覺得太過隱晦,對新手也不是很友好。
我們可以在@test註解的testng方法加上dependsonmethods = 或dependsongroups= 來新增依賴關係,當然這些方法名和組名也是支援正規表示式的。
下面的**使用了dependsonmethods屬性來指定了所依賴的方法。依賴組的寫法就留給讀者自己去實踐辣。
public class testdependency )
public void secondmethod()
@test
public void firstmethod()
}
執行結果:
testng提供了兩種依賴機制:
1.強依賴關係:所有的被依賴的方法必須被成功執行,才會執行到後續的方法。哪怕只有乙個前置方法執行失敗了,有依賴關
系的後置方法都會被跳過。既有先後順序關係,也有決定關係。
下面的**是強依賴關係,由於failmethod會執行失敗,所以skipmethod會被跳過。
import org.testng.annotations.test;
public class testdependency
@test(dependsonmethods = )
public void skipmethod1()
@test(dependsonmethods = )
public void skipmethod2()
}
執行可以看到控制台的輸出:
2.弱依賴關係:不論前置方法是否成功執行,有依賴的後置方法都會得到執行,他們之間僅僅有前後順序關係,前者的成功與否並不決定後者是否執行。弱依賴關係,需要在testng方法註解上,加乙個alwaysrun=true屬性。我們看下下面的強弱依賴對比
import org.testng.annotations.test;
public class testdependency
@test(dependsonmethods = , alwaysrun=true)
public void skipmethod1()
@test(dependsonmethods = )
public void skipmethod2()
}
控制台輸出:
我們還可以在xml檔案中使用和標籤來定製這些依賴關係。下面是乙個使用xml定製依賴多個組的示例。
<?xml version="1.0" encoding="utf-8"?>
import org.testng.annotations.test;
public class testdependencyinxml )
public void bbbgroup1()
@test(groups=)
public void aaagroup1()
@test(groups=)
public void aaagroup2()
@test(groups=)
public void bbbgroup2()
@test(groups=)
public void dependonothers()
}
控制台輸出:
testng依賴測試
測試方法b的執行,依賴測試方法a,就叫做依賴測試。分為硬依賴測試和軟依賴測試。測試方法a先執行,若a執行成功,則b再執行。若a執行失敗,則b不執行。如何使用?test dependsonmethods alwaysrun true 測試方法a先執行,無論a是否執行成功,a執行後b都會執行。如何使用?...
十一 TestNG依賴測試
測試的時候有可能要用到其他測試結果 是否成功 來執行這個測試。就需要用到測試和測試之間傳遞引數 testng叫做 依賴測試。testng依賴測試特點 1 testng允許指定依賴關係,如果依賴關係失敗了,則跳過後面的所有方法.2 如果使用依賴測試則會在執行該方法時先執行依賴的方法,後執行本方法。在 ...
TestNg 7 依賴測試
我本個測試方法執行的時候,依賴於其他的方法。用到關鍵字dependsonmethods 依賴於那個方法 也有依賴於哪個組 dependsongroups 看以下的一段 package com.course.testng import org.testng.annotations.test publi...