Java Maven未在后缀为“Tester”的类文件中运行测试

Java Maven未在后缀为“Tester”的类文件中运行测试,java,maven,junit4,Java,Maven,Junit4,mvn clean install和mvn test命令将在名为SomethingTest.java的文件上运行所有测试,但不会在名为SomethingTester.java的文件中运行测试 根据默认情况下it应该运行与**/Test*.java模式匹配的测试,我是否缺少让maven识别遵循此模式的测试的步骤?您链接到的文档说明: 默认情况下,Surefire插件将自动包含具有以下通配符模式的所有测试类: **/Test*.java-包括它的所有子目录和所有以Test开头的java文件名。 **

mvn clean install和mvn test命令将在名为SomethingTest.java的文件上运行所有测试,但不会在名为SomethingTester.java的文件中运行测试


根据默认情况下it应该运行与**/Test*.java模式匹配的测试,我是否缺少让maven识别遵循此模式的测试的步骤?

您链接到的文档说明:

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

**/Test*.java-包括它的所有子目录和所有以Test开头的java文件名。 **/*java-包括它的所有子目录和以Test结尾的所有java文件名。 **/*java-包括它的所有子目录和以TestCase结尾的所有java文件名。 您的类与以下任何模式都不匹配:

它不是从测试开始的 它不会以测试结束 它不会以TestCase结束 医生接着说:

如果测试类不遵循任何这些命名约定,则配置Surefire插件并指定要包括的测试

几行之后,有一个解释和一个示例显示如何指定include模式

include/exclude模式可以是ant样式的路径表达式,但通过以下语法也支持正则表达式:

[……]


您链接到的文档说明:

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

**/Test*.java-包括它的所有子目录和所有以Test开头的java文件名。 **/*java-包括它的所有子目录和以Test结尾的所有java文件名。 **/*java-包括它的所有子目录和以TestCase结尾的所有java文件名。 您的类与以下任何模式都不匹配:

它不是从测试开始的 它不会以测试结束 它不会以TestCase结束 医生接着说:

如果测试类不遵循任何这些命名约定,则配置Surefire插件并指定要包括的测试

几行之后,有一个解释和一个示例显示如何指定include模式

include/exclude模式可以是ant样式的路径表达式,但通过以下语法也支持正则表达式:

[……]


意识到我实际上需要按照**/*Test*.java模式运行测试

我通过将以下内容添加到pom.xml中实现了这一点


意识到我实际上需要按照**/*Test*.java模式运行测试

我通过将以下内容添加到pom.xml中实现了这一点


笑死我了。。我是个白痴。。。非常感谢。我需要它来运行**/*Test*.javalmao。。我是个白痴。。。非常感谢。我需要它来运行**/*Test*.java
<project>
    [...]
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                    <includes>
                        <include>**/*Test*.java</include>
                    </includes>
                </configuration>
            </plugin>
        </plugins>
    </build>
    [...]
</project>