Azure Pipelines 将 xUnit InlineData 视为一项测试而不是多项测试

jp2*_*p2g 7 xunit .net-core azure-pipelines

在我们的 Azure Pipelines 管道中,我们有采用 InlineData 参数的 .NET Core xUnit 测试方法。测试运行程序运行所有测试方法,并在其控制台输出中正确报告每个 InlineData 实例作为测试运行。但是,Azure Pipelines 报告的测试计数较低,因为它将 [Theory] ​​测试计为一项测试(而不是对每个 InlineData 实例进行一项测试)。

如何使 Azure Pipelines 将 InlineData 的所有实例报告为测试?

作为示例,这是一个作业输出。

测试作业报告 9 个测试。9 个测试包括两个 [Theory] ​​方法,每个方法都有两个 InlineData:

在此输入图像描述

Azure Pipelines 仅报告 7 个测试,而不是预期的 9 个测试:

在此输入图像描述

Lev*_*SFT 3

我用最新版本的 dotnet core sdk 重现了同样的问题ie. SDK Version: 3.1.402

在此输入图像描述

在此输入图像描述

当我使用3.1.101版本 dotnet core sdk 时。测试摘要显示了正确的测试计数。

在此输入图像描述

您可以尝试在管道顶部添加“使用 .NET Core”version任务,并将.NET Core SDK 指定为3.1.101。见下文:

- task: UseDotNet@2
  displayName: 'Use .NET Core sdk 3.1.101'
  inputs:
    version: 3.1.101
Run Code Online (Sandbox Code Playgroud)