如何将Maven日志中的测试运行次数与源代码匹配?

问题描述 投票:0回答:1

[我正在尝试将基于Facebook项目presto的https://api.travis-ci.org/v3/job/29350712/log.txt中的日志文件创建的测试运行次数与源代码中的真实测试链接起来。链接到此构建运行的源代码位于以下链接中:https://github.com/prestodb/presto/tree/bd6f5ff8076c3fdb2424406cb5a10f506c7bfbeb/presto-raptor/src/test/java/com/facebook/presto/raptor

我正在计算在源代码中遇到“ @Test”的地方的数量,然后它应该与日志文件中运行的Test的数量相同。

在大多数情况下,它可以正常工作。但是其中有一些子项目,例如子项目“ presto-raptor”,其中运行329个测试。但是在源代码中,我发现@Test是27倍。我注意到前面有一些测试:@Test(singleThreaded = true)

这是以下链接中的示例:https://github.com/prestodb/presto/blob/bd6f5ff8076c3fdb2424406cb5a10f506c7bfbeb/presto-raptor/src/test/java/com/facebook/presto/raptor/metadata/TestRaptorSplitManager.java

@Test(singleThreaded = true)
public class TestRaptorSplitManager
{

我希望运行的测试次数与日志文件中的次数相同。但是似乎源代码正在并行运行(多线程)

我的问题是我该如何匹配使用真实代码在源代码中运行的329个测试的数量。

maven testing logging testng
1个回答
0
投票

[TestNG根据以下内容对测试数量进行计数(除了常规的计数测试方式之外]

  1. 数据驱动的测试被视为新测试。因此,如果您有一个由数据提供者提供支持的@Test(并且可以说数据提供者提供了5组数据),那么对于TestNG,有5个测试正在运行。
  2. 具有多个调用计数的测试也被计为单独的测试(例如,如果您有@Test(invocationCount = 5),则TestNG会在报告中将该测试报告为5个测试,这也是Maven控制台显示的内容。

因此不确定您将如何建立匹配功能来对源代码进行交叉检查(特别是当您的测试涉及数据提供者时)

© www.soinside.com 2019 - 2024. All rights reserved.