我正在使用Maven對網站運行TestNG集成測試。目前,我可以使用這個命令來運行特定的測試類:如何告訴Maven和TestNG運行特定的測試類或suite.xml文件?
mvn -Dit.test="MyTestClassname" verify
我也想能夠指定一個TestNG的一套XML文件與具體參數一起運行一堆類。
我可以設置故障安全插件在我的POM接受suiteXmlFiles參數,像這樣:
<configuration>
<threadCount>1</threadCount>
<suiteXmlFiles>
<suiteXmlFile>${basedir}/src/test/resources/suites/${suiteFile}</suiteXmlFile>
</suiteXmlFiles>
<systemPropertyVariables>
<browser>${browser}</browser>
<environment>${environment}</environment>
<debugMode>${debugMode}</debugMode>
<caseId>${caseId}</caseId>
</systemPropertyVariables>
</configuration>
,讓我發出以下命令:
mvn -DsuiteFile="MyTestSuite.xml"
但現在我不能使用-Dit.test =「MyTestClassname」選項,因爲Maven正在嘗試傳遞一個空值作爲套件名稱。
有沒有辦法解決這個問題?同樣,我想要麼:
- 指定一個單一的測試類(在命令行一串參數)
- 指定包含一串測試類和不同參數的TestNG的XML文件。
爲什麼你需要使用套件文件?爲什麼不遵循maven命名約定,讓maven運行所有類。 – khmarbaise 2015-03-25 07:54:19
我想使用套件文件的原因是做類似這樣的事情:只運行參數爲{A,B,C},{D,E,F},{G,H,I}的類A,B和C }而不執行一堆不同的maven命令。我可以用TestNG的團隊支持和不同的Maven目標來做到這一點。 – thekevinmonster 2015-03-25 13:33:54
爲什麼不在測試中定義參數,一切都符合約定。 – khmarbaise 2015-03-25 14:23:16