我在TestNG中有很多测试套件.这些是XML文件.我希望能够在从maven运行集成测试时选择多个XML套件.
目前我可以将套件文件添加到pom.xml,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>${pathToMySuiteFile_1}</suiteXmlFile>
<suiteXmlFile>${pathToMySuiteFile_1}</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
该解决方案有一些局限性.我只能更改我在pom.xml中定义的测试套件的路径.所以在我的例子中,它总是必须是两个文件.我不能跑,比方说,5套房或只有一套.
有没有办法以某种方式参数化pom.xml中的整个"suiteXmlFiles"部分?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
${multiple_paths_ToMySuiteFiles}
</suiteXmlFiles>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
运行与给定测试组匹配的所有内容对我来说不是一个选项:我不想加载我所拥有的所有套件,然后使用TestNG套件中的组运行所选的测试.原因是在运行具有组过滤器的所有测试套件之后生成的报告与仅运行所选测试套件时的报告不同.
如果使用FileAppender,禁用Logback控制台附加程序会以任何方式提高性能吗?
我将PlayFramework 2.3与Logback一起用作日志框架。我必须将应用程序日志存储在相对较慢的文件中。禁用标准控制台附加程序以提高日志记录性能是否有意义,还是过早的优化呢?即使启用了控制台记录器,记录器性能也不是我的问题。我很好奇在这种情况下是否重要。
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${application.home}/logs/application.log</file>
<encoder>
<pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
</encoder>
</appender>
Run Code Online (Sandbox Code Playgroud)
禁用此附录?
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern>
</encoder>
</appender>
Run Code Online (Sandbox Code Playgroud)