Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 好的实践是否为测试创建了项目maven模块?_Java_Maven_Unit Testing_Ant_Multi Module - Fatal编程技术网

Java 好的实践是否为测试创建了项目maven模块?

Java 好的实践是否为测试创建了项目maven模块?,java,maven,unit-testing,ant,multi-module,Java,Maven,Unit Testing,Ant,Multi Module,我有一个ANT项目,我正在迁移到maven。这个项目有一些src文件夹,我决定为每个src文件夹创建一个maven模块项目 问题是每个src文件夹都有单元测试,并且在构建时所有类都编译在一个classes文件夹中,因此测试之间的所有依赖关系都得到了解决 创建maven模块时,一个模块无法识别模块之间的依赖关系 我考虑创建一个专门用于测试的maven项目。这是一个好的实践还是有其他方法?通常,Maven项目有一个src/main和一个src/test文件夹,您将项目的单元测试放在src/test文

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

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

创建maven模块时,一个模块无法识别模块之间的依赖关系


我考虑创建一个专门用于测试的maven项目。这是一个好的实践还是有其他方法?

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

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

parent_test
    -> module1_test
    -> module2_test
    -> module3_test
  • 使用测试罐
  • 模块2_测试中的示例

        <dependency>
            <groupId>groupId</groupId>
            <artifactId>module1_test</artifactId>
            <type>test-jar</type>
            <version>version</version>
            <scope>test</scope>
        </dependency>
    
    
    groupId
    模1_检验
    试验罐
    版本
    测试
    

  • 单元测试应该属于一个模块,因此它应该在同一个模块中。unter
    src/test
    这方面的实际问题和解决方案非常清楚。OP只是在标题中问了一个错误的问题。@question\u maven\u com提出的解决方案在技术上是正确的,但为了澄清问题,他们可能会详细阐述一些。问题是,我有这样一种结构:——PARENT------module1------module2------module3 module2具有依赖于src/test文件夹中包含的module1中的其他类的类。在module2的pom.xml中,我将module1作为dependecy。但不识别模块1的src/测试类。你知道为什么吗?这可能是个不幸的建筑。在本例中,我建议使用一个testutil模块来收集测试的帮助器类。任何内容都不应依赖于src/test文件夹。测试本身应该保留在src/test文件夹中。是的,我必须这样做。thx求救