我正在使用TestNG並有一套測試。我想在每個需要關於方法信息的測試方法之前執行一個操作。作爲一個簡單的例子,說我想打印方法的名稱之前執行。我可以寫一個註釋爲@BeforeMethod
的方法。我怎樣才能將參數注入該方法?在TestNG中使用@BeforeMethod時,有沒有辦法獲取方法元數據?
16
A
回答
13
查看文檔中的dependency injection部分。它指出,依賴注入可以在此情況下可以使用例如:
不限
@BeforeMethod
(和@AfterMethod
)可以聲明java.lang.reflect.Method
類型的參數。此參數將接收一旦此@BeforeMethod
完成後(或在爲@AfterMethod
運行該方法後)將被調用的測試方法。
所以基本上你只需要在你的@BeforeMethod
聲明java.lang.reflect.Method
類型的參數,你將有機會獲得以下測試名稱的名稱。喜歡的東西:
@BeforeMethod
protected void startTest(Method method) throws Exception {
String testName = method.getName();
System.out.println("Executing test: " + testName);
}
還有一個方式使用ITestNGMethod
接口(documentation),但我不是如何使用它完全確定,我只是讓你看看,如果你'感興趣。
1
下面的例子解釋瞭如何方法
我正在使用的數據有多個數據集提供,所以在某種程度上報告它顯示了同樣的方法我的測試用例之前@BeforeMethod
public void beforemethod(Method method){
//if you want to get the class name in before method
String classname = getClass().getSimpleName();
//IF you want to get the method name in the before method
String methodName = method.getName()
}
@Test
public void exampleTest(){
}
相關問題
- 1. 有沒有辦法在運行時獲取DefaultProperty元數據?
- 2. 有沒有辦法使用node.js讀取文件元數據
- 3. 有沒有辦法從CMake獲取構建元數據?
- 4. 有沒有辦法在可調用方法中使用參數?
- 5. 有沒有辦法在編譯時有值的元數據?
- 6. 有沒有辦法通過使用httpwebrequest的ID獲取元素?
- 7. 有沒有辦法在WebDriver上使用testNG來進行數據驅動測試?
- 8. 有沒有辦法在一個Test類之外使用TestNG DataProvider?
- 9. 有沒有辦法從方法中獲取此/上下文?
- 10. 有沒有辦法在eclipse中用方法提取類?
- 11. 有沒有辦法從Open Graph中獲取數據?
- 12. Ant macrodef:有沒有辦法獲取元素參數的內容?
- 13. 有沒有辦法計算TestNG中斷言的數量?
- 14. 有沒有辦法在內聯方法中使用let語句?
- 15. 有沒有辦法在使用excanvas時克隆畫布元素?
- 16. 有沒有辦法從make調用中獲取-j參數?
- 17. 有沒有辦法在ServiceStack Redis中使用Redis MONITOR數據?
- 18. 有沒有辦法從php獲取內部數據?
- 19. 有沒有辦法從Internet Explorer獲取像素數據?
- 20. 有沒有什麼辦法從tendermint的blockchain獲取數據API
- 21. 有沒有辦法從NSString獲取拼寫檢查數據?
- 22. 有沒有辦法直接從simplexmlelement對象獲取數據?
- 23. 有沒有辦法使用繼承的超類方法獲取類名?
- 24. 查詢opentsdb時,有沒有辦法用數據點獲取單位?
- 25. 有沒有辦法在Textmate中從方法跳轉到方法?
- 26. 有沒有辦法在使用時獲得索引值.... Array.IndexOf?
- 27. 有沒有辦法從被調用方法中的調用方法獲取參數的名稱?
- 28. WPF:有沒有辦法在MultiValueConverter的ConvertBack方法中獲取原始值?
- 29. 有沒有辦法從json讀取數據到html實時?
- 30. 有沒有辦法根據Roslyn中的InvocationExpressionSyntax獲取MethodDeclarationSyntax?
在你獲得方法名和類名運行多次的時間與我們在excel工作表中的manydata一樣多,所以我想將testcase名稱作爲變量(這在excel中)傳遞給AbstractBaseTestCase類中的before方法,是否有任何方法可以實現此目的? –