maven surefire插件是否需要运行单元测试?

时间:2015-10-17 20:22:05

标签: maven unit-testing testing maven-surefire-plugin

使用mvn clean test命令时,是否需要maven surefire插件才能运行单元测试?

我阅读了文档并知道它说:

  

Surefire插件在构建的测试阶段使用   生命周期,用于执行应用程序的单元测试。它产生了   以两种不同的文件格式报告:

     

纯文本文件( .txt)XML文件( .xml)默认情况下,这些文件是   生成于$ {basedir} / target / surefire-reports。

但是,我在不使用surefire插件的情况下运行测试,它们都通过了。

1 个答案:

答案 0 :(得分:7)

不是需要,但默认情况下maven 使用。如果你有一个更好的插件,你可以改变它。但我更喜欢默认值。

maven-surfire-plugin绑定到默认生命周期的测试阶段。 maven-surfire-plugins运行所有测试匹配文件名模式测试* .java,* Test.java和* TestCase.java 驻留在目录 src / test / java

有关详细信息,请查看http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html

你可以在控制台输出上验证这一点......这是 mvn test 的尾输出......:

[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ rechnungsverwaltung ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ rechnungsverwaltung ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.447 s
[INFO] Finished at: 2015-10-17T22:36:59+02:00
[INFO] Final Memory: 18M/304M
[INFO] ------------------------------------------------------------------------
哈瓦一看就行了。在那里你可以看到使用了maven-surefire-plugin

[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @