我正在使用TestNG(使用gradle)进行并行测试。
执行测试的Gradle任务: -
task executeTests(type: Test) {
useTestNG{
options ->
options.parallel = 'classes'
options.threadCount = 2
}
}
我有一些登录测试。在Gradle报告中,当我们并行执行测试时,正在一些测试类的标准输出部分中打印一个测试类的日志。
要进行调试,我创建了3个类,每个类都有一个测试,并使用日志打印了Thread.currentThread()。getId()。在Gradle报告中,上次执行的Test类的标准输出部分包含具有不同线程ID的日志(这些是来自不同的类)。
我做错了吗?如何正确记录日志(我应该能够在其标准输出部分中看到测试类的完整日志记录)。提前致谢。
答案 0 :(得分:1)
Gradle的测试报告已经在Gradle自己的并行执行中实现,它始终是每个JVM的单线程(但可能是多JVM)。除非您需要TestNG的测试之间依赖关系的概念,否则最好使用Gradle的并行执行(例如executeTests.maxParallelForks = 2
),这不会出现此问题。此外,您可以在http://forums.gradle.org处针对原始问题提出问题。