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

如何在Azure Pipelines中按项目文件命名测试运行(无需单项目单步骤)

解决Azure Pipelines中DotNetCoreCLI测试任务运行名称不直观的问题

你当前的DotNetCoreCLI测试任务配置如下:

- task: DotNetCoreCLI@2
  inputs:
    command: 'test'
    projects: src/Common/**/*Tests.*proj
    arguments: '-c Release'

当使用Glob模式匹配多个测试项目时,自动生成的测试运行名称确实不够直观。可以通过PowerShell遍历项目并逐个执行测试的方式,在不创建多个任务的前提下,让每个测试运行的名称对应项目名。

解决方案配置

替换原有的DotNetCoreCLI任务为以下PowerShell任务:

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      # 递归查找所有符合规则的测试项目
      $testProjects = Get-ChildItem -Path src/Common/**/*Tests.*proj -Recurse
      
      foreach ($project in $testProjects) {
          # 提取不带扩展名的项目名称
          $projectName = [System.IO.Path]::GetFileNameWithoutExtension($project.Name)
          
          # 执行测试,指定以项目名命名的日志文件和独立结果目录
          dotnet test "$($project.FullName)" -c Release `
            --logger "trx;LogFileName=$projectName.trx" `
            --results-directory "$(Agent.TempDirectory)/TestResults/$projectName"
      }

说明

  • 脚本会自动遍历所有匹配src/Common/**/*Tests.*proj的测试项目,无需手动逐个添加
  • 通过--logger参数指定trx日志文件名为项目名,Azure Pipelines识别该日志文件后,会将测试运行名称显示为对应的项目名
  • 每个项目使用独立的结果目录,避免不同项目的测试日志互相覆盖

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 10:35:01