Java Maven-单元测试运行两次?
关于Maven和运行单元测试的小问题 我有一个非常基本的JavaSpringBoot项目,带有一些单元测试。 我运行基本的Java Maven-单元测试运行两次?,java,maven,Java,Maven,关于Maven和运行单元测试的小问题 我有一个非常基本的JavaSpringBoot项目,带有一些单元测试。 我运行基本的mvn干净安装非常简单。 由于某种原因,我不明白,我看到我所有的单元测试都运行了两次 这里有一次: [INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ project --- [INFO] [INFO] --------------------------------------------------
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这样正在默认位置查找的工具。最好的?完全去掉插件定义并使用默认值