java Maven surefire插件找不到单元测试

gpfsuwkq  于 2023-03-28  发布在  Java
关注(0)|答案(2)|浏览(252)
  • 是的,包含测试的Java类命名正确。(它们以Tests结尾)
  • 已尝试在pom.xml中添加以下配置:
<configuration>
            <includes>
                <include>**/*Test.java</include>
            </includes>
        </configuration>
  • 测试位于以下结构下:/src/test/packagename/JavaClassTest.java其中 packagename 是在src/main/java路径下编写的单元测试下的同一个包。
  • 我使用jupiter Junit 5和maven-surefire-plugin与2.22.2

我仍然在mvn测试中得到以下错误:

--- maven-surefire-plugin:2.22.2:test (default-test) @ <project-name> ---
    [INFO] No tests to run.

我做错了什么?

mwkjh3gx

mwkjh3gx1#

你为什么只配置一个特定的测试?默认情况下,surefire插件应该访问testRoot和子目录中的所有类。
您也可以只链接一个特定的文件,如
src/test/ArchTest.java
看看它是你配置中的“包含”还是其他什么。我不确定wildecard是否像你期望的那样工作。请参阅Maven wildcard match on partial folder name。基于此,你可以尝试

<configuration>
      <includes>
          <include>/**/*Test.java</include>
      </includes>
  </configuration>
nfs0ujit

nfs0ujit2#

为junit 5添加此内容

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

           <dependency>
               <groupId>org.junit.platform</groupId>
               <artifactId>junit-platform-surefire-provider</artifactId>
               <version>1.2.0</version>
           </dependency>
       </dependencies>
       <configuration>
        <additionalClasspathElements>
            <additionalClasspathElement>src/test/java/</additionalClasspathElement>
        </additionalClasspathElements>
       </configuration>
   </plugin>
</plugins>

为junit 4添加此内容

<build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.0</version>
        <dependencies>
            <dependency>
                <groupId>org.apache.maven.surefire</groupId>
                <artifactId>surefire-junit4</artifactId>
                <version>2.22.0</version>
            </dependency>
        </dependencies>
        <configuration>
            <includes>
                <include>**/*.java</include>
            </includes>
        </configuration>
    </plugin>
</plugins>

相关问题