2013-08-28 21 views
4

我正在运行Maven 3.1.0 Surefire plugin已经--quiet选项,但它仍然打印出单元测试结果的命令行,即使他们都通过。 有没有办法让它打印失败?如何在没有将测试结果输出到命令行的情况下运行Maven surefire?

我想抑制如果一切正常的样子输出:

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
Running net.initech.project.dawgs.actionfactory.InterfaceActionFactoryTest 
Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.425 sec 
Running net.initech.project.dawgs.actionfactory.ValueScopeTest 
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec 
Running net.initech.project.dawgs.assertion.AssertContainsTest 
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec 
Running net.initech.project.assertion.AssertEndsWithTest 
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec 
Running net.initech.project.assertion.AssertIsEqualTest 
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec 
Running net.initech.project.assertion.AssertIsLikeTest 
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec 
Running net.initech.project.assertion.AssertStartsWithTest 
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec 

Results : 

Tests run: 52, Failures: 0, Errors: 0, Skipped: 0 

不,我不想管道输出到/dev/null

+0

高兴有人问这个。我希望maven默认不会产生这种腹泻。 –

回答

4

尝试surefire.printSummary属性设置为falsethis should only print the test cases that have errors.因此请尝试运行它作为mvn -q -Dsurefire.printSummary=false

或者,你可以把它放在你的pom.xml:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration>    
     <printSummary>false</printSummary> 
    </configuration> 
    </plugin> 
+1

这仍然打印“----
测试----
”的横幅,任何想法如何摆脱?我很想将它作为针对SureFire的功能请求提交,因为它似乎应该包含在该选项中。 – ArtB

+0

再次提醒我:如果你的命令有'-Dsurefire.useFile = false',那么'-Dsurefire.printSummary = false'的设置将不被遵守。 –

+0

另一个警告 - 在'pluginManagement'元素中,这个设置似乎被忽略。 –

相关问题