2013-04-22 114 views
3

让我们假设我有很多项目需要的代码,但只是在测试中。maven的“test-utils”项目 - 如何管理依赖关系

因此,我想为它创建一个分离的maven项目,例如carlos-test-utils,并将它作为测试依赖项添加到我的项目中。

但是,在我的carlos-test-utils项目中,我也需要JUnit。所以,我将它添加为测试依赖项,显然不起作用,因为我将代码放在src/main/java之内。

我想听听哪个是处理这种事情的最好方法。

把deps提供?

一些肮脏的棘手的事情复制.java跨项目文件?

还有其他的东西吗?

回答

3

您可以通过应以下列方式被用于此类案件的maven-jar-plugin管理是:

这应该在模块/项目,应提供测试类和 代码应放在完成测试代码的常用文件夹src/test/java不是 in src/main/java。您的测试代码所需的所有依赖关系应该与通常的依赖关系一起添加,范围为test

<project> 
    ... 
    <build> 
    <plugins> 
     ... 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <version>2.6</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>test-jar</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     ... 
    </plugins> 
    </build> 
    ... 
</project> 

在你喜欢用的测试依赖项目只是用这样的:

<project> 
    ... 
    <dependencies> 
    <dependency> 
     <groupId>groupId</groupId> 
     <artifactId>artifactId</artifactId> 
     <type>test-jar</type> 
     <version>version</version> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 
    ... 
</project> 
+0

它的工作,非常感谢你! – caarlos0 2013-04-22 19:49:57