2013-10-14 58 views
4

我創建了一個用於測試我的應用程序的maven項目。我在我的項目中使用了Webdriver,TestNG框架。我使用maven surefire插件和reporty-ng插件爲測試用例生成報告。這在我使用命令(mvn測試站點)在IDE(eclipse)或命令提示符下運行時工作正常。現在我必須將它製作成一個jar文件,以便我可以將該jar文件放入任何系統中並運行它。如何使用surefire插件運行maven jar文件?

所以這裏的問題就來了:

  1. Maven的罐子不包括測試源和類放在src \測試可用。 我們可以解決的Maven Jar插件的這個使用測試jar目標
  2. 無論如何,即使我可能會創建的maven jar文件,但我怎麼運行它,因爲我沒有主類,我用的testng.xml套件來運行我的測試。我在配置surefire插件時使用testng.xml

那麼我該如何運行這個jar文件呢?

+0

首先,你在做集成測試,這意味着你應該使用maven-failsafe-plugin而不是maven-surefire-plugin。此外,您可以製作一個單獨的模塊,該模塊取決於包含應該測試的應用程序的模塊。所以你可以通過'mvn verify'做一個測試。 [在這裏你可以找到一個描述](http://khmarbaise.github.io/maui/it-example-container.html)和[在這裏你可以找到一個完整的例子](https://github.com/khmarbaise/maui /樹/主/ SRC /主/資源/ IT-例如容器 - 硒)。 – khmarbaise

+0

我的測試運行良好,使用surefire插件。當我使用mvn命令來構建項目並運行測試時,那麼一切運行良好。我的問題是我將如何創建一個jar文件,以便我可以在不同的系統中使用它。 – MihirSasmal

+0

我喜歡這個http://mojo.codehaus.org/appassembler/appassembler-maven-plugin/ –

回答

0

我認爲你想讓你的測試不僅在maven中運行,而且還在其他一些構建系統(例如Ant)中運行?

如果是這樣的話,我想你想要的是一些很好的報告,告訴你你的測試如何。如果是這樣,你可能想看看這個項目:http://reportng.uncommons.org/

你需要創建一個螞蟻的classpath裁判,其中包括測試瓶(和被測類的罐子)「測試路徑」 ......然後你會做這樣的事情

< TestNG的classpathref = "測試路徑" outputdir = " $ {測試results.dir} " haltonfailure = "真正" useDefaultListeners = "假" 聽衆= " org.uncommons.reportng.HTMLReporter,org.uncommons.reportng.JUnitXMLReporter " > < xmlfileset dir = "。 "包括= "的testng.xml "/> < sysproperty鍵= " org.uncommons.reportng.title "值= "我的測試報告"/> </TestNG的>

相關問題