在我的项目中,我将所有的集成(junit)和硒(testng)测试分隔到一个maven模块中。测试通过父模块上的maven执行。所以在集成/硒测试之前,建立主模块并设置一些属性。 (jenkins在每个版本上运行所有测试)如何从Maven项目中外化TestNG/Junit测试(sparatly)?
现在我需要运行此模块的独立于主模块的测试(特别是硒测试必须在外部执行)。如何实现这一目标?是否有一个“jar -with-dependencies”用于测试。
在我的项目中,我将所有的集成(junit)和硒(testng)测试分隔到一个maven模块中。测试通过父模块上的maven执行。所以在集成/硒测试之前,建立主模块并设置一些属性。 (jenkins在每个版本上运行所有测试)如何从Maven项目中外化TestNG/Junit测试(sparatly)?
现在我需要运行此模块的独立于主模块的测试(特别是硒测试必须在外部执行)。如何实现这一目标?是否有一个“jar -with-dependencies”用于测试。
如果您已在主模块上运行mvn install
,则可以在集成测试模块上运行mvn test
命令(或用于运行Selenium测试的任何命令)。
下添加下面的标签在你的POM
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
添加以下下
<testSourceDirectory>D:\eclipse_workspace\Utils_project\test_filelister</testSourceDirectory>
添加的插件以下
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<configuration>
<test>**/*.java</test>
</configuration>
</plugin>
永远不要在您的Maven构建中使用硬代码路径! – khmarbaise 2012-03-26 15:45:52
@khmarbaise这是真的,但我觉得这会更容易理解 – 2012-03-26 16:11:18
的问题是:这两个模块共享许多配置项目(除了它们之间的关系),所以在测试模块上的mvn测试目前不起作用(安装主模块i足够了)。问题是:他们是否在没有maven的情况下运行测试?或者是否有Maven插件/目标在父级上运行,从而创建可运行的测试工件? – dermoritz 2012-03-26 15:13:53
正常情况下,声明对主模块的依赖性就足够了,但您必须提供有关共享配置的更具体示例。在最糟糕的情况下,您可以使用您的主项目的相对路径在测试模块中声明您的配置路径。 – 2012-03-26 15:16:34
除了插件版本和一些属性两个模块共享(仅在父pom中指定)父级,因此版本,公司POM,GROUPID。我的问题是:只运行一个模块的最低要求是什么?目前我必须安装(除了maven)公司pom,父pom和主模块才能运行测试。有没有办法给测试模块一个替代的配置(对于外部环境) - 可能通过一个配置文件 - 降低了需求(没有企业pom,没有父pom),或者在最好的情况下没有主模块,也没有mvn(一个jar对全部)。 – dermoritz 2012-03-27 10:28:19