【问题标题】:mvn test not running test classmvn test 没有运行测试类
【发布时间】:2019-02-19 01:12:38
【问题描述】:

我正在尝试运行一个 Maven 阶段: mvn 测试

但是,测试没有被执行:

  1. 测试类位于:src/test/java/TestRESTTransactionResourceController
  2. 当我将类重命名为后缀 Test 时,mvn test 命令会执行测试: src/test/java/RESTTransactionResourceControllerTest

我运行 mvn -X test 以获得更多输出,看起来像搜索以下模式:

  <includes>
    <include>**/*Tests.java</include>
    <include>**/*Test.java</include>
  </includes>

我认为这个插件的默认设置是:

  <includes>
    <include>**/Test*.java</include>
    <include>**/*Tests.java</include>
    <include>**/*Test.java</include>
  </includes>

反正我的pom.xml的一部分如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-clean-plugin</artifactId>
            <version>2.6.1</version>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.18.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.8.2</version>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.10.3</version>
            <configuration>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

任何想法请帮忙。谢谢。

【问题讨论】:

    标签: maven-3 maven-surefire-plugin


    【解决方案1】:

    这是因为我在我的模块中使用了以下 Spring Boot 插件:

    <plugin>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    

    这会更改搜索条件以查找以 Test 或 Tests 结尾的测试类。 以下链接有所帮助: Spring Boot - My unit tests are being skipped 正在跳过测试

    我更改了模块中的surefire插件以覆盖此配置。

    【讨论】:

      【解决方案2】:

      默认情况下,Surefire 插件会自动包含所有具有以下通配符模式的测试类:

      "**/Test*.java" - includes all of its subdirectories and all Java filenames that start with "Test".
      "**/*Test.java" - includes all of its subdirectories and all Java filenames that end with "Test".
      "**/*Tests.java" - includes all of its subdirectories and all Java filenames that end with "Tests".
      "**/*TestCase.java" - includes all of its subdirectories and all Java filenames that end with "TestCase".
      

      要包含/排除测试用例,请参阅

      [https://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html][1]

      【讨论】:

      • 谢谢,这就是我不明白的地方,它正在跳过 */Test.java。以下是运行 mvn -X test 后的日志输出: ${failIfNoTests}${forkCount}${forkMode}${surefire.timeout}${groups}**/*Tests .java**/*Test.java
      猜你喜欢
      • 1970-01-01
      • 2020-01-12
      • 2015-12-21
      • 2021-03-04
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多