簡體   English   中英

如何使用testng.xml從大型TestNG套件執行一個測試?

[英]How to execute one test from large TestNG suite using testng.xml?

我有一個包含大量方法的TestNG套件。 我使用構建在TestNG運行程序之上的包裝器來執行此套件。 套件中的所有測試都會失敗,除了一個。 我應該在testng.xml中寫什么才能執行那個失敗的測試?

明顯的解決方案是為所有方法分配唯一的組名,然后在testng.xml中指定名稱。 這可以在2-3種方法的情況下使用,但隨着測試數量的增加,它會變得更難。

您可以使用include ,而不是exclude 這正是你想要的。 只會執行此測試。

  <classes>
    <class name="test.IndividualMethodsTest">
      <methods>
        <include name="testMethod" />
      </methods>
    </class>
  </classes>

試試這個:

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

每次運行后,TestNG會創建一個名為testng-failed.xml的字段,該字段僅包含失敗的測試。 只需在該文件上再次調用TestNG:

java org.testng.TestNG testng.xml java org.testng.TestNG testng-failed.xml

(將org.testng.TestNG替換為您自己的跑步者,因為您似乎使用自定義的跑步者)。

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

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

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

要安裝testng Plugin.Just請按照以下步驟操作:1 - 轉到Eclipse中的“幫助”菜單。 2 - 選擇“安裝新軟件”“。3 - 添加” http://beust.com/eclipse“

它適用於您指定的錯誤我認為您沒有在Eclippse IDE中安裝該插件

您還可以創建自己的ITestListener (因為您無論如何都有自己的包裝器)來跟蹤故障,然后從中生成您自己的故障套件文件,該文件僅包含失敗的測試。 TestNG的監聽器/攔截器掛鈎非常好。 在工作中,我們使用以下幾種方式擴展了TestNG:

  • 捕獲/回放生成的數據集
  • 結果記錄到數據庫
  • 定制測試輸出(日志)
  • 由@DataProvider提供的數據集的元數據,如ID,描述
  • 運行時檢查環境依賴的測試用例限制

在程序中選擇測試方法並轉到頂部菜單“Run” - >“Run”,或者執行CTRL + F11,這將獨立於XML測試套件開始測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM