0

默认情况下,Maven 标准目录布局有两个 Java 源文件夹:

src/main/java
src/test/java

出于我的目的,我需要第三个src/junit/java,它应该与分类器一起打包到 JAR 中junit

如果可能,新的源文件夹应该有它自己的类路径(编译 + 所有的范围junit)。

我的猜测是,为此,我至少必须修改资源并编译插件。

或者有没有更简单的方法?

我有一个在这里解释的解决方法,但为此,我必须将 Mockito 和 JUnit 之类的东西放在compile类路径上,这违反了我的纯洁感。

对于所有怀疑我的方法是否明智的人:当您使用来自src/main/java. 由于我在项目本身的测试中使用了相同的支持代码,因此需要在after src/main/javabefore src/test/java编译此代码。

具体来说,我的支持代码需要从中导入代码,src/main/java并且测试需要能够导入支持代码。

4

1 回答 1

3

我见过一些 Maven 设置,它们将测试代码捆绑在自己的 Maven 模块中。然后,您可以使用它创建一个简单的 main-module <- support-module <- test-module 依赖链。但是,如果您在没有测试模块的情况下自行构建它,那么主模块将编译得很好。Ofc 你可以用 reactor-pom 将它们聚合在一起,然后通过这个 pom 构建项目。

编辑:

如果您对此设置有关于代码覆盖率的问题,您可以使用 Jacoco Maven 插件将 test-module 生成的测试覆盖率聚合到 main-module。有关更多信息,请参阅:http ://www.petrikainulainen.net/programming/maven/creating-code-coverage-reports-for-unit-and-integration-tests-with-the-jacoco-maven-plugin/

于 2014-03-31T15:07:12.743 回答