当前位置: 首页 > 知识库问答 >
问题:

Maven找不到任何测试

程仲卿
2023-03-14

我试图改变更多的新或旧版本junit、surefire plugin和junit-platform-surefire-provider,但没有找到需要的组合。

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <junit.api.version>5.4.0</junit.api.version>
    <junit.jupiter.version>5.4.0</junit.jupiter.version>
    <junit.platform.version>1.3.1</junit.platform.version>
    <aspectj.version>1.9.4</aspectj.version>
    <allure.version>2.12.1</allure.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${junit.jupiter.version}</version>
    </dependency>
    <dependency>
        <groupId>io.qameta.allure</groupId>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-junit5</artifactId>
        <version>${allure.version}</version>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.4.0</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
            <configuration>
                <testFailureIgnore>false</testFailureIgnore>
                <argLine>
                    -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                </argLine>
                <systemProperties>
                    <property>
                        <name>junit.jupiter.extensions.autodetection.enabled</name>
                        <value>true</value>
                    </property>
                </systemProperties>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.junit.platform</groupId>
                    <artifactId>junit-platform-surefire-provider</artifactId>
                    <version>1.3.2</version>
                </dependency>
                <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectj.version}</version>
                </dependency>
            </dependencies>
        </plugin>
        <plugin>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-maven</artifactId>
            <version>LATEST_VERSION</version>
            <configuration>
                <reportVersion>2.4.1</reportVersion>
            </configuration>
        </plugin>
    </plugins>
</build>

共有1个答案

容飞掣
2023-03-14

默认情况下,maven Surefire插件希望您的测试文件名符合以下条件:

  • **/test*.Java-包括它的所有子目录和所有以“test”开头的Java文件名。
  • **/*test.Java-包括它的所有子目录和所有以“test”结尾的Java文件名。
  • **/*tests.Java-包括它的所有子目录和所有以“tests”结尾的Java文件名。
  • **/*testcase.Java-包括它的所有子目录和所有以“testcase”结尾的Java文件名。

如果测试文件名与上述条件不匹配,则有两个选项。首先,修改您的测试文件名,使其与上面的标准相匹配。其次,您可以通过配置maven-surefire-plugin来修改包含条件

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M3</version>
        <configuration>
          <includes>
            <include>%regex[.*(Cat|Dog).*Test.*]</include>
          </includes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>
 类似资料:
  • 我有一个Maven项目设置。在这个项目中,我使用JUnit进行单元测试。当我使用或运行测试时,不会运行任何测试。测试位于中,它们都以结束(它们匹配)。 这是我的pom.xml: 我的整个项目结构可以在这里看到:https://bitbucket.org/equator-lang/ppp4e/src/master/ 任何帮助都将非常感谢,因为我已经尝试了很多个小时来让这个工作,但不知道该做什么。 公

  • 问题内容: 我尝试使用Maven创建一个测试项目,并且单元测试工作正常。但是,当尝试对j2ee项目执行相同操作时,surefire无法找到单元测试。测试位于正确的目录(src / test / java)中,并且正在对其进行编译。 junit测试位于src / test / java / unit / TestAddition.java pom.xml中的surefire插件配置不包含/排除任何文

  • 我用java在netbeans中编程,一切都很好,直到突然测试不再运行。我怀疑这是一个编程错误,因为我正在使用netbeans生成所有测试,而且这个问题似乎在各个项目中持续存在。我甚至尝试过重新安装Netbeans。这是我右键单击并按test file时的输出。 我假设这是一个渐变问题,这里是默认渐变。在新的Netbeans项目上构建文件。 它快把我逼疯了。有变通办法吗?我可以对gradle.bu

  • 是的,包含测试的Java类命名正确。(它们以测试结尾) 尝试在pom.xml中添加以下配置: 测试位于以下结构下: /src/test/packagename/JavaClassTest.java,其中Packagename与src/main/java路径下编写的单元测试下的包相同。 我正在使用jupiter JUnit 5和maven-surefire-plugin与2.22.2 我仍然在mvn

  • 我有一个scala测试类,但是当我试图使用Maven目标'test'运行时,测试并没有运行。我收到Maven消息“There are no tests to run”。即使测试位于scala测试类中。我需要添加额外的配置吗? 以下是我的软件包设置: 下面是针对pom文件运行时Maven“测试”目标的输出: [INFO]----------------------生成成功[INFO]--------

  • 我完全卸载了IntelliJ,现在已经重新安装并导入了我的项目。我使用gradle导入,可以看到我项目中的所有文件。然而,当我打开一个文件时,我找不到任何声明可以通过执行cmd+click来转到。我已经安装了Java7SDK,我甚至无法在自己的项目中进行类的声明。转到像或这样的Java核心类也不起作用。如何使IDE能够找到我的类? 我在OSX优胜美地,IntelliJ 2016.1.2 build

  • 问题内容: 我有一个Maven程序,它可以正常编译。当我运行它时,它不会运行任何测试(在TESTs标头下显示)。 我已经用一个超级简单的设置重新创建了这个问题,我将在下面以及运行时将其包括在内-X。 单元测试可以从eclipse正常运行(都使用其默认的junit软件包,而当我包括maven下载的junit.jar时)。而且可以在下正确创建该类。我在带有Maven 3.0.2和Java 1.6.0_

  • 我正在学习Selenium,我想尝试将maven-compiler-plugin添加到pom.xml并重新导入maven设置。因此,我找到了这个例子来做它http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html,并尝试将代码添加到pom.xml。但是示例3.8