我在Maven下使用Selenide。
我试图通过调用mvn -q
来隐藏maven日志消息。
对于Selenide日志,我尝试使用以下解决方案:
-Djava.util.logging.config.file = C:\ TEMP \ logging.properties
handlers = java.util.logging.ConsoleHandler .level = INFO com.codeborne.selenide.level =严重
但是,在调用mvn -q test
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 :
问题:如何隐藏所有以前的日志消息?我只需要出现打印信息。
答案 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插件的任何新功能,则上述解决方案可能符合您的需求。
但是,当然不建议仅使用旧版本进行打印功能。