2012-03-26 73 views
0

在我的项目中,我将所有的集成(junit)和硒(testng)测试分隔到一个maven模块中。测试通过父模块上的maven执行。所以在集成/硒测试之前,建立主模块并设置一些属性。 (jenkins在每个版本上运行所有测试)如何从Maven项目中外化TestNG/Junit测试(sparatly)?

现在我需要运行此模块的独立于主模块的测试(特别是硒测试必须在外部执行)。如何实现这一目标?是否有一个“jar -with-dependencies”用于测试。

回答

1

如果您已在主模块上运行mvn install,则可以在集成测试模块上运行mvn test命令(或用于运行Selenium测试的任何命令)。

+0

的问题是:这两个模块共享许多配置项目(除了它们之间的关系),所以在测试模块上的mvn测试目前不起作用(安装主模块i足够了)。问题是:他们是否在没有maven的情况下运行测试?或者是否有Maven插件/目标在父级上运行,从而创建可运行的测试工件? – dermoritz 2012-03-26 15:13:53

+0

正常情况下,声明对主模块的依赖性就足够了,但您必须提供有关共享配置的更具体示例。在最糟糕的情况下,您可以使用您的主项目的相对路径在测试模块中声明您的配置路径。 – 2012-03-26 15:16:34

+0

除了插件版本和一些属性两个模块共享(仅在父pom中指定)父级,因此版本,公司POM,GROUPID。我的问题是:只运行一个模块的最低要求是什么?目前我必须安装(除了maven)公司pom,父pom和主模块才能运行测试。有没有办法给测试模块一个替代的配置(对于外部环境) - 可能通过一个配置文件 - 降低了需求(没有企业pom,没有父pom),或者在最好的情况下没有主模块,也没有mvn(一个jar对全部)。 – dermoritz 2012-03-27 10:28:19

0

下添加下面的标签在你的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> 
+1

永远不要在您的Maven构建中使用硬代码路径! – khmarbaise 2012-03-26 15:45:52

+0

@khmarbaise这是真的,但我觉得这会更容易理解 – 2012-03-26 16:11:18

相关问题