来自一个Test类的日志显示在Gradle Test报告的其他类的标准输出部分中

时间:2014-07-28 18:58:20

标签: java gradle testng

我正在使用TestNG(使用gradle)进行并行测试。

执行测试的Gradle任务: -

task executeTests(type: Test) {
   useTestNG{
       options ->         
           options.parallel = 'classes'                 
           options.threadCount = 2
   }
}

我有一些登录测试。在Gradle报告中,当我们并行执行测试时,正在一些测试类的标准输出部分中打印一个测试类的日志。

要进行调试,我创建了3个类,每个类都有一个测试,并使用日志打印了Thread.currentThread()。getId()。在Gradle报告中,上次执行的Test类的标准输出部分包含具有不同线程ID的日志(这些是来自不同的类)。

我做错了吗?如何正确记录日志(我应该能够在其标准输出部分中看到测试类的完整日志记录)。提前致谢。

1 个答案:

答案 0 :(得分:1)

Gradle的测试报告已经在Gradle自己的并行执行中实现,它始终是每个JVM的单线程(但可能是多JVM)。除非您需要TestNG的测试之间依赖关系的概念,否则最好使用Gradle的并行执行(例如executeTests.maxParallelForks = 2),这不会出现此问题。此外,您可以在http://forums.gradle.org处针对原始问题提出问题。