当测试分类器设置为依赖项时,解决m2e工作空间分辨率缺少启动程序类路径中的测试类

Pet*_*ahn 6 eclipse junit m2eclipse maven

当测试的pom将测试列为依赖项时,是否有人知道如何解决最近的M2eclipse插件无法在junit启动程序的类路径中包含依赖项目test-classes目录的问题?

代表的步骤

  • 创建到pom项目providerProj,userProj
  • 在providerProj中创建TestUtils类并使用其测试进行存储
  • 将userProj设置为依赖于提供者的测试分类工件(provider-test.jar)
  • 添加userProj测试,该测试从providerProj调用TestUtils类

在命令行上所有工作都按预期工作.通过测试类路径找到TestUtils类.

  • 将项目导入eclipse
  • 将userProj test作为junit运行

找不到故障类.

当我们检查测试的类路径时,看不到providerProj/test-classes文件夹.如果我们关闭providerProj并重新运行,它就可以工作,我们在类路径上看到provider-test.jar.

useProject
<dependency>
   <groupId>workspacetest</groupId>
   <artifactId>providerProj</artifactId>
   <classifier>test</classifier>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我们可以手动编辑启动器并添加必要的文件夹,但这并不理想.我或许可以说服m2eclipse转储src并测试输出到目标/类中,这会掩盖问题并打开我纠缠的代码.我可以fork m2eclipse并更改句柄以假设测试分类器dep意味着包括工作空间解析目标/测试类.

你知道问题的解决方案吗?

谢谢

彼得

Fre*_*con 1

你需要使用<classifier>tests</classifier>.

顺便说一句,http://maven.apache.org/guides/mini/guide-attached-tests.html不鼓励使用测试分类器,<type>test-jar</type>这是首选。