如何在 Azure DevOps 中使用 Nunit 自定义结果编写器

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

我使用 Azure 测试计划来运行集成测试。 我想应用 Unit '--result:path/to/result/file.result.xml;format=custom' 来获得简短的结果,而不是包含大量冗余信息的 '.trx'。 我尝试使用“发布”->“任务”->“测试运行”来执行测试计划,并通过控制台将此参数设置为单元适配器,但出现错误。也许您知道如何应用此参数来获得简短的测试结果。

我预计当在 Run Attach 中完成测试运行时,我将获得 *.xml 文件而不是 .trx 文件。我有 Nunit 的自定义扩展方法,用于描述 *.xml 结果文件。

最诚挚的问候,弗拉基米尔 L.

.net testing azure-devops nunit autotest
2个回答
0
投票

要在 Azure DevOps 中为 NUnit 测试生成 XML 格式的测试结果,可以使用 NUnitXml.TestLogger 包。

NUnitXml.TestLogger
包添加到您的测试项目中。在您的测试项目中,将以下代码添加到
.csproj
文件中:

<ItemGroup>
  <PackageReference Include="NUnitXml.TestLogger" Version="3.1.15" />
</ItemGroup>

在构建管道中,将以下命令添加到 dotnet 测试任务中:

dotnet test --logger "nunit;LogFileName=TestResults.xml" -- NUnit.ShowInternalProperties=true

通过在“/logger:trx;LogFileName=Nunit-test-results.xml”中指定

Other console options
VSTest任务
中进行尝试。从日志中我们可以看到生成了
xml
格式的测试结果文件,但 VSTest 任务尝试查找要发布的
trx
格式的测试结果,但该结果不存在,导致测试任务失败。

所以,也许你可以尝试管道中的

dotnet test


0
投票

您可以创建 .runsettings 文件,该文件应包含以下内容:

<NUnit>
        <TestOutputXml>{PathWhereXmlFileWillBeSaved}</TestOutputXml>
</NUnit>

这将为您的测试运行生成测试结果 xml 文件(将包括所有测试结果)。之后,您就可以创建包含此文件或对此文件执行其他操作的工件。

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