项目的Maven测试取决于另一个项目的代码

时间:2014-05-10 10:42:33

标签: maven

这类似于How can I make a maven test dependent on a class defined in another project's test?

我有项目A并对其进行测试。 项目B依赖于A,并且具有依赖于A / src / java / test的测试。测试代码使用的是testNG。

我不知道如何让它发挥作用。如果我将代码从A / test移动到A / main,则意味着我需要提供testNG。如果我创建一个新的包C,它必须依赖于A / main并且包含所有A / test,并且它必须在C / main中(因为我需要它用于B)因此不会运行& #34; mvn test"。

1 个答案:

答案 0 :(得分:0)

您可以使用jar插件创建一个测试jar,然后将该测试jar作为测试范围依赖项添加到第二个模块。

这不是最优的,因为测试范围的依赖关系是不可传递的,所以如果模块A的测试依赖于仅在模块A的测试类路径上的某个类,则需要在模块B中重复声明...

此问题表明您的测试设计不正确,可能会将公共代码提取到第3个模块中(它们将位于src/main中,以解决问题