You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps中使用NUnit自定义结果写入器获取精简测试报告

在Azure Test Plans中用NUnit生成自定义精简XML测试结果

核心解决思路

放弃Azure默认的测试适配器任务,直接用命令行调用NUnit控制台运行器,精准控制结果输出格式,再手动将自定义结果文件关联到测试运行附件。

具体步骤

  • 替换测试运行任务为命令行任务
    用NUnit控制台运行器直接执行测试,规避适配器默认的trx生成逻辑:

    # 先确保控制台运行器可用,可通过NuGet安装NUnit.ConsoleRunner
    nunit3-console.exe $(System.DefaultWorkingDirectory)/YourTestProject/bin/Release/YourTestAssembly.dll \
      --result:$(Build.ArtifactStagingDirectory)/custom-test-results.xml;format=custom \
      --extension:$(System.DefaultWorkingDirectory)/YourCustomNUnitExtension.dll
    

    其中--extension参数指定你编写的自定义格式扩展程序集路径,format=custom需和你扩展中注册的格式名完全匹配。

  • 禁用默认测试结果收集
    如果之前使用了「Visual Studio Test」任务,取消勾选**"Publish test results to Azure Test Plans"**,阻止生成冗余的trx文件。

  • 上传自定义结果到测试运行附件
    添加「Upload Test Attachments」任务,配置如下:

    • Test run:选择「Current test run」
    • Attachment files:填写$(Build.ArtifactStagingDirectory)/custom-test-results.xml
      配置完成后,自定义XML文件会出现在Azure Test Plans的测试运行附件中。

注意事项

  • 确保管道中已安装NUnit控制台运行器:可通过NuGet任务安装NUnit.ConsoleRunner包,指定版本需与测试项目兼容。
  • 自定义扩展程序集需与测试程序集同目录,或通过--extension参数明确指定路径,避免NUnit无法加载扩展。

内容的提问来源于stack exchange,提问作者Vladimir L

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 23:30:55