代码之家  ›  专栏  ›  技术社区  ›  Sled bayer

如何在不将测试结果打印到命令行的情况下运行Maven surefire?

  •  8
  • Sled bayer  · 技术社区  · 12 年前

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

    如果一切正常,我想抑制的输出如下:

    -------------------------------------------------------
     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

    1 回复  |  直到 11 年前
        1
  •  8
  •   Sridhar Sarnobat    10 年前

    尝试设置 surefire.printSummary 属性到 false : this 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>