如何将.NET Core 2.0 xUnit测试报告导入VSTS

Luk*_*ett 4 xunit .net-core azure-devops dotnet-cli

如何获得生成并发布到VSTS中的.NET Core 2.0 xUnit测试报告?

Luk*_*ett 11

按照本文档开始使用:

https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-dotnet-test

重要的是,这必须在您的测试项目文件中:

<ItemGroup>
  <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0-preview-20170628-02" />
  <PackageReference Include="xunit" Version="2.2.0" />
  <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

现在在您的VSTS构建配置中,您需要假装它是所有VSTest而不是选择或尝试使用xUnit运行器和报告格式.

因此,除了其他明显的设置外,还将.NET Core任务添加为v2.0(预览)并设置:

Command: test
Arguments: --logger:trx --configuration $(BuildConfiguration)
Run Code Online (Sandbox Code Playgroud)

现在添加一个很好的老式发布测试结果任务并设置:

Test result format: VSTest
Test results files: **\*.trx
Merge test results: check
Upload test results files: check
Run Code Online (Sandbox Code Playgroud)

我认为现在Visual Studio运行器将以xUnit的形式运行,但会产生自己的报告格式,VSTS可以应对.

注意我看到的唯一错误是报告中的"运行持续时间"很长.