2009-11-04 27 views
17

我有一個包含大量方法的TestNG套件。我使用構建在TestNG runner之上的包裝來執行這個套件。除了一個之外,套件中的所有測試都失敗我應該在testng.xml中寫什麼來執行那一個失敗的測試?如何使用testng.xml從大型TestNG套件執行一個測試?

明顯的解決方案是爲所有方法分配唯一的組名,然後在testng.xml中指定名稱。這可以在2-3種方法的情況下工作,但隨着測試數量的增長,它會變得越來越困難。

回答

1

有幾種方法可以做到這一點。

您是否在使用Eclipse進行開發? TestNG有一個Eclipse插件,我認爲它將是您運行特定測試的最簡單方法。該插件允許您運行套件,組,類或可用測試的方法。

如果不是,我相信你可以設置一個啓動測試的螞蟻任務(http://testng.org/doc/ant.html),並使用像「classfilesetref」這樣的屬性來提供一個測試列表來運行。您可以在單獨的文件中指定測試,因此每次運行測試時都不必更新build.xml。

安裝testng Plugin.Just請按照以下步驟進行:1,進入Eclipse的「幫助」菜單。 2,選擇「安裝新軟件」「 3,添加」 http://beust.com/eclipse。」

它可以在你指定的,我認爲你沒有內Eclippse IDE

+0

第一個選項不可用 - 我正在使用包裝,建立在TestNG runner之上來啓動測試。Eclipse不會捕獲由包裝器執行的測試結果。 感謝您的第二個方案 - 我會嘗試。 – 2009-11-05 10:24:28

4

後插件安裝錯誤的情況下, 。

的Java org.testng.TestNG的testng.xml 的Java org.testng.TestNG TestNG的:每次運行,TestNG中創建一個名爲提起TestNG的-failed.xml僅包含未能通過測試只是對文件再次調用TestNG的-failed.xml

(替換org .testng.TestNG與你自己的亞軍,因爲你似乎使用自定義的)。

+0

不能相信,自己博伊斯特回答的答案! – 2017-09-13 13:26:31

1

你也可以創建自己的ITestListener(因爲你已經有了自己的包裝器)跟蹤失敗,然後生成自己的失敗套件文件,其中只包含失敗的測試。 TestNG的監聽器/攔截器鉤子相當不錯。

  • 捕獲/生成數據的回放設置
  • 結果記錄到數據庫
  • 定製的測試輸出(日誌)
  • 元數據,例如ID:在工作中,我們一直在使用他們幾個方面TestNG的延伸,描述爲數據集通過一個@dataProvider測試用例提供的與環境相關的限制
  • 運行時檢查
6

嘗試這種情況:

<classes> 
    <class name="test.IndividualMethodsTest"> 
     <methods> 
     <exclude name="testMethod" /> 
     </methods> 
    </class> 
    </classes> 
+1

或者<包括名稱=「TestMethod的」 />執行正好一個 – 2011-06-29 00:05:48

15

相反的exclude,你可以使用include。它正是你想要的。只有這個測試會被執行。

<classes> 
    <class name="test.IndividualMethodsTest"> 
     <methods> 
     <include name="testMethod" /> 
     </methods> 
    </class> 
    </classes> 
相關問題