Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven-单元测试运行两次?_Java_Maven - Fatal编程技术网

Java Maven-单元测试运行两次?

Java Maven-单元测试运行两次?,java,maven,Java,Maven,关于Maven和运行单元测试的小问题 我有一个非常基本的JavaSpringBoot项目,带有一些单元测试。 我运行基本的mvn干净安装非常简单。 由于某种原因,我不明白,我看到我所有的单元测试都运行了两次 这里有一次: [INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ project --- [INFO] [INFO] --------------------------------------------------

关于Maven和运行单元测试的小问题

我有一个非常基本的JavaSpringBoot项目,带有一些单元测试。 我运行基本的
mvn干净安装
非常简单。 由于某种原因,我不明白,我看到我所有的单元测试都运行了两次

这里有一次:

[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ project ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running MyTest
[INFO] --- maven-surefire-plugin:2.22.2:test (integration-test) @ project ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running MyTest
这里有一次:

[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ project ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running MyTest
[INFO] --- maven-surefire-plugin:2.22.2:test (integration-test) @ project ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running MyTest
这是我的maven:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                    <reportsDirectory>target/reports/junit</reportsDirectory>
                </configuration>
                <executions>
                    <execution>
                        <id>integration-test</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <phase>integration-test</phase>
                        <configuration>
                            <excludes>
                                <exclude>none</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

org.apache.maven.plugins
maven surefire插件
真的
目标/报告/junit
集成测试
测试
集成测试
没有一个
请允许我问一下我做错了什么,因为我不希望单元测试运行两次


谢谢

Surefire和Failsafe插件非常相似,主要区别在于它们运行的阶段。通常,Surefire在
测试
阶段运行,故障保护在
集成测试
阶段运行。(默认配置让他们查找稍有不同的测试名称,例如
*test
*IT
,以了解何时运行每个测试。)

您已明确告知Surefire(单元测试插件)在集成测试期间运行。如果您不想这样做,只需删除整个
执行
节即可。我还强烈建议不要告诉Maven在测试失败时不要失败,并且更改报告目录很可能会混淆像CI这样正在默认位置查找的工具。最好的?完全去掉插件定义并使用默认值