1

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

  • 添加 JVM 选项:

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

  • 创建文件 logging.properties 延续如下内容:

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

但是我在调​​用时仍然出现以下内容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 :
    

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

4

1 回答 1

1

Indeed even running the test phase with the quite option ( -q) still shows the following output:

-------------------------------------------------------   
 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(目前最新)并使用printSummaryfalse 选项,因此运行:

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 插件的任何新功能,上述解决方案可能会满足您的需求。

但是,绝对不建议仅将旧版本用于打印功能。

于 2016-03-08T12:23:41.097 回答