使用mvn clean test
命令时,是否需要maven surefire插件才能运行单元测试?
我阅读了文档并知道它说:
Surefire插件在构建的测试阶段使用 生命周期,用于执行应用程序的单元测试。它产生了 以两种不同的文件格式报告:
纯文本文件( .txt)XML文件( .xml)默认情况下,这些文件是 生成于$ {basedir} / target / surefire-reports。
但是,我在不使用surefire插件的情况下运行测试,它们都通过了。
答案 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) @