Search code examples
.net-coreazure-pipelinesxunit

Azure Pipelines counts xUnit InlineData as one test instead of many


In our Azure Pipelines pipeline we have .NET Core xUnit test methods that take an InlineData parameter. The test runner runs all test methods and correctly reports in its console output each InlineData instance as a test run. However, Azure Pipelines reports a lower test count because it counts the [Theory] tests as one test (instead of one test for every instance of InlineData).

How can I make Azure Pipelines report all instances of InlineData as tests?

As an example, here's a job output.

The test job reports 9 tests. 9 tests include two [Theory] methods each with two InlineData:

enter image description here

Azure Pipelines only reports 7 instead of the expected 9 tests:

enter image description here


Solution

  • I reproduced the same issue with the latest version dotnet core sdk ie. SDK Version: 3.1.402.

    enter image description here

    enter image description here

    When i used 3.1.101 version dotnet core sdk. The Test summary showed the correct test counts.

    enter image description here

    You can try adding Use .NET Core task at the top of your pipeline and specify version of .NET Core SDK to be 3.1.101. See below:

    - task: UseDotNet@2
      displayName: 'Use .NET Core sdk 3.1.101'
      inputs:
        version: 3.1.101