我有一个maven2多模块项目,在我的每个子模块中,我都有名为Test.javaIntegration.java的JUnit测试,分别用于单元测试和集成测试.当我执行时:

mvn test

子模块中的所有JUnit测试*Test.java都会执行.当我执行

mvn test -Dtest=**/*Integration

Integration.java个测试中没有一个在子模块中执行.

在我看来,这些命令似乎完全相同,但带有-Dtest=/*集成**的命令不起作用.它显示在父级运行的0个测试,而没有任何测试

推荐答案

您可以将Maven的Surefire设置为分别运行单元测试和集成测试.在标准单元测试阶段,运行所有与集成测试不匹配的模式.然后,只运行集成测试的create a second test phase个.

下面是一个示例:

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <excludes>
          <exclude>**/*IntegrationTest.java</exclude>
        </excludes>
      </configuration>
      <executions>
        <execution>
          <id>integration-test</id>
          <goals>
            <goal>test</goal>
          </goals>
          <phase>integration-test</phase>
          <configuration>
            <excludes>
              <exclude>none</exclude>
            </excludes>
            <includes>
              <include>**/*IntegrationTest.java</include>
            </includes>
          </configuration>
        </execution>
      </executions>
    </plugin>

Java相关问答推荐

在Java 11+中,我们可以在不编译多个文件的情况下以某种方式执行吗?

将状态栏和导航栏设置为白色,带有深色文本

获取拦截器内部的IP地址

inteliJ中是否有一个功能可以自动在块注释中的/*后面添加一个空格?''

Java 8中的多个字段和计数

流迭代列表<;对象>;上的NoSuchElementException

Spring Boot@Cachebale批注未按预期工作

我需要生成一个文件来整合每个特性执行的所有JSON结果

获取字符串中带空格的数字和Java中的字符

无法了解Java线程所消耗的时间

在JDK 1.8源代码中,为什么使用A-B 0来确定哪个更大,而不是A B?

Java17支持哪个MapR版本?

将JSON字符串转换为Java类

Java创建带有扩展通配符的抽象处理器

如何使用MapStrCut转换双向链接

如何在不作为类出现的表上执行原生查询?

在应用程序运行时更改LookAndFeel

Java List有一个在一个位置添加多个元素的方法,但我找不到一个在一个位置删除多个元素的方法

在Spring Boot中使用咖啡因进行缓存-根据输出控制缓存

如何设置默认序列生成器分配大小