如何隐藏junit + maven消息

时间:2016-03-08 10:42:43

标签: maven selenium junit maven-surefire-plugin selenide

我在Maven下使用Selenide。 我试图通过调用mvn -q来隐藏maven日志消息。 对于Selenide日志,我尝试使用以下解决方案:

  • 添加JVM选项:
  

-Djava.util.logging.config.file = C:\ TEMP \ logging.properties

  • 创建文件logging.properties,包含以下内容:
  

handlers = java.util.logging.ConsoleHandler .level = INFO   com.codeborne.selenide.level =严重

但是,在调用mvn -q test

时,我仍然会出现以下情况
  • 在端口33356上启动ChromeDriver(v2.9.248315)
  • junit消息:

    T E S T S
    
     --------------------------------------------------------
    Running sa.vanilla.test.logintest.Vanilla_Login_successfully
    Starting ChromeDriver (v2.9.248315) on port 13890
    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.465 sec
    
    Results :
    

问题:如何隐藏所有以前的日志消息?我只需要出现打印信息。

1 个答案:

答案 0 :(得分:0)

实际上即使使用完全选项(-q)运行测试阶段仍会显示以下输出:

-------------------------------------------------------   
 T E S T S   
-------------------------------------------------------  
Running be.axa.training.hello.HelloModelTest   
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.078 sec  
Running be.axa.training.hello.HelloAppTestCase   
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec  

Results :  

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

使用Maven Surefire插件版本 2.19.1 (目前最新版本)并使用printSummary选项为false,因此运行:

mvn test -q -Dsurefire.printSummary=false

仍然提供以下输出:

-------------------------------------------------------   
 T E S T S   
-------------------------------------------------------   
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0   

然而(并且令人惊讶地)使用Maven Surefire插件版本 2.5 与上面的选项,不打印任何东西,你得到空输出!因此,使用printSummary选项的方式已经改变了版本。

您可以使用此版本将其明确添加到您的pom中,如下所示:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.5</version>
        </plugin>
    </plugins>
</build>

检查两个版本之间差异的快速测试是显式调用以下两个版本:

mvn -q org.apache.maven.plugins:maven-surefire-plugin:2.5:test -Dsurefire.printSummary=false

mvn -q org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test -Dsurefire.printSummary=false

并检查不同的结果(第一个只显示测试用例的输出,第二个也显示Surefire测试摘要)。

因此,如果您未使用版本 2.5 的Maven Surefire插件的任何新功能,则上述解决方案可能符合您的需求。

但是,当然不建议仅使用旧版本进行打印功能。