【譯】TestNG官方文檔中文版(04)—— 運行TestNG

來源:互聯網
上載者:User
4 - 運行

TestNG可以使用多種方式調用:

  • 命令列
  • ant
  • Eclipse
  • IntelliJ's IDEA

本節將只介紹如何從命令列運行TestNG。如果您對其他方式感興趣,那麼就點擊上面的連結查看更多資訊。

假設TestNG已經在你的類路徑中,最簡單的調用方式如下:

java org.testng.TestNG testng1.xml [testng2.xml testng3.xml ...]

你至少要指定一個XML檔案,它描述了你要啟動並執行TestNG suite。此外,還有如下命令列參數:

命令列參數
選項 參數 說明
-d 目錄 報告會產生的目錄 (預設是test-output).
-excludegroups 逗號分隔的組列表 要在當前運行中被排除的組列表
-groups 逗號分隔的組列表 想要啟動並執行組(e.g. "windows,linux,regression").
-listener 逗號分隔的Java類列表,它們都可以在你的類路徑中找到 讓你指定你自己的監聽器。這些類需要實現org.testng.ITestListener
-parallel 方法 | 測試 如果指定了,那麼在運行測試的時候,所使用的預設的機制就會決定如何去使用並行 | 線程。反之則不會。 這是可以在suite定義中被覆蓋的
-reporter 自訂報告監聽器的擴充配置 類似於 -listener 選項,允許在報告器執行個體中配置JavaBean的樣式屬性。例如:
-reporter com.test.MyReporter:methodFilter=*insert*,enableFiltering=true
這個選項不限次數,根據需要一樣一個。
-sourcedir 分號間隔的目錄列表 使用了JavaDoc類型的annotation的源碼所在的目錄。這個選項只有你在使用JavaDoc類型的註解時才會有用。(e.g. "src/test" or "src/test/org/testng/eclipse-plugin;src/test/org/testng/testng").
-suitename test suite預設的名字
指明了在命令列中定義的test suite的名字。這個選項在suite.xml或源碼指定了不同的名字時會被忽略。如果使用雙引號括起來,就可在名字中使用空格。例如:"like this"。
-testclass 逗號分隔的類列表,它們必須能在類路徑中被找到 逗號分隔的測試類別的列表 (e.g. "org.foo.Test1,org.foo.test2").
-testjar 一個jar檔案 指定了一個包含了測試類別的Jar檔案。如果testng.xml 在jar檔案的根目錄被找到,就使用之,反之,jar檔案中所有的類都會被當成測試類別。
-testname 測試所使用的預設名字 它為在命令列中定義的測試指定了名字。這個選項在suite.xml或源碼指定了不同的名字時會被忽略。如果使用雙引號括起來,就可在名字中使用空格。例如:"like this"。
-testrunfactory 可以在類路徑中找到的Java類 讓你指定你自己的測試回合器,相關的類必須實現 org.testng.ITestRunnerFactory.
-threadcount 在並行測試的時候預設使用的線程數 並行運行中所使用的最大線程數。只在使用並行模式中有效(例如,使用-parallel選項)。它可以在suite定義中被覆蓋。

上面的參數說明可以通過不帶任何參數運行TestNG來獲得。

你也可以把命令列開關放到檔案中,例如說 c:/command.txt,之後告訴 TestNG 使用這個檔案來解析其參數:

C:> more c:/command.txt
-d test-output testng.xml
C:> java org.testng.TestNG @c:/command.txt

此外TestNG也可以在命令列下向其傳遞JVM參數。例如:

java -Dtestng.test.classpath="c:/build;c:/java/classes;" org.testng.TestNG testng.xml

如下是TestNG所能理解的屬性:

系統屬性
屬性 類型 說明
testng.test.classpath 分號分的一系列目錄,其中包含了你的測試類別 如果指定了這個屬性,TestNG就會尋找你的測試類別而不是類路徑。這在你的類路徑中有很多類,而大多數又不是測試類別,或者在xml檔案中使用 package 標記的時候會很方便。

例子:

java org.testng.TestNG -groups windows,linux -testclass org.test.MyTest

注意 ant task 和 testng.xml 允許你使用更多的參數來運行TestNG(要包含的方法、指定的參數等等),所以你在學習TestNG的時候考慮使用命令列,因為這樣能讓你快速進步。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.