如何根据另一个项目测试中定义的类进行maven测试?

时间:2011-06-07 15:28:27

标签: maven

我有两个项目,A和B.项目A依赖于项目B.项目B实现了几个使用maven测试正常运行的JUnit测试。项目B JUnit测试还定义了项目A和B都依赖的一些常量。当我在项目B上运行maven install时,没有任何测试类(即常量)进入Project B SNAPSHOT jar,所以当项目A查找项目B的常量时,它无法在项目B的SNAPSHOT jar中找到它们在我当地的回购。有没有办法告诉maven打包/安装测试SNAPSHOT jar或类似的东西,以便项目A可以在测试期间访问这些常量?这些常量仅用于测试。

2 个答案:

答案 0 :(得分:1)

  • 简单的解决方案:将常量放在src / main / java中,并明确表示它们只用于测试代码。使用短包名称,例如testing
  • 过度设计的解决方案:将常量放在一个单独的maven项目中(仅POM可能?),由A和B引用,范围为test

答案 1 :(得分:0)

我不是100%确定这是否有效,但在类似的情况下,我可以包括

 <classifier>tests</classifier>

进入依赖声明。

然后你可以让A依赖于&#34;不合格的&#34; B和B测试。

更新Apparently,您不应再使用classifier:test,而应使用type:test-jar