好的做法是创建一个特定于测试的项目 Maven 模块吗?

Is good pratice create a project maven module specific for tests?

我有一个 ANT 项目,我正在迁移到 maven。这个项目有一些 src 文件夹,我决定为每个 src 文件夹创建一个 maven 模块项目。

问题是每个 src 文件夹都有单元测试,并且在构建时所有 类 都编译在 类 文件夹中,因此测试之间的所有依赖关系都得到解决。

创建maven模块,一个模块不识别模块之间的依赖关系。

我考虑过创建一个专门用于测试的 Maven 项目。这是一个很好的做法还是有其他方法?

通常,Maven 项目有一个src/main 和一个src/test 文件夹,您将项目的单元测试放在src/test 文件夹中。

如果您的测试需要额外的依赖项,您可以在 pom 中使用测试范围声明它们。

parent_test
    -> module1_test
    -> module2_test
    -> module3_test
  1. 使用测试罐https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html
  2. module2_test

    中的示例
        <dependency>
            <groupId>groupId</groupId>
            <artifactId>module1_test</artifactId>
            <type>test-jar</type>
            <version>version</version>
            <scope>test</scope>
        </dependency>