2011-07-29 96 views
0

我有Maven项目X,它依赖于项目Y.当我在项目X上运行测试时,虽然它在类路径中,但无法在项目Y中找到测试文件。maven测试问题

+0

“文件”是指源文件还是项目Y的测试文件? – Raghuram

回答

3

Maven中的惯例是将单元测试定位到您的项目,这意味着您不能使用当前项目之外的类。这也是因为测试类不会被打包到与生产代码(src/main/java)相反的jar中。但是你可以通过定义类解决这个问题,你想重用如下内容(项目Y):

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

你要做的MVN安装(或可能MVN部署),并在项目y您必须使用上面的定义,如下所示:

<dependency> 
    <groupId>${project.groupId}</groupId> 
    <artifactId>test</artifactId> 
    <version>${project.version}</version> 
    <type>test-jar</type> 
    <scope>test</scope> 
</dependency>