2013-10-14 56 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的>

相关问题