TestManagement.Server.TriggerCoverageMergeJob 开启后,Azure DevOps 中的 Dotnet 测试卡住了

Donet test in Azure DevOps gets stuck after TestManagement.Server.TriggerCoverageMergeJob is on

在 Azure DevOps 中,我的代码管道中有一个本地代理 运行ning dotnet test。它曾经在我假期前工作,但发生了一些变化,导致该管道挂起 60 分钟,然后自行终止。

我启用了调试模式,但只能看到 TestManagement.Server.TriggerCoverageMergeJob 然后什么也看不到。

这里有人知道该怎么做吗?

该代码基于 .NET5,并在 Chrome 和 Firefox 上使用了一些 Selenium 测试。根据 运行 报告,这部分工作正常并且所有测试都通过了。 代理是 Windows 10 Enterprise,运行ning 代理版本 2.198.3(=最新)

##[debug]File uploaded successsfully on LogStore svc-testautomation_RDP-DEVEL04_2022-02-09_10_09_41.trx
Published Test Run : URL/_TestManagement/Runs?runId=73850&_a=runCharts
##[debug]Leaving PublishToNewTestRunPerTestResultFileAsync
##[debug]TestManagement.PTR.CalculateTestRunSummary is on
##[debug]RESOURCE_URIS:
##[debug]Setting task variable METADATA_dd056f4a-e5ec-4040-b2dd-76c58de85acd: {"name":"f7e05d93-4f75-4d21-81b6-a7f562d79972","resourceUris":[],"metadata":{"description":"","relatedUrls":[{"url":"URL/_build/results?buildId=13313","label":"pipeline-url"}],"humanReadableName":"Test Results from Publish Test Results utility","serializedPayload":"{\"testId\":\"PublishTestResults\",\"testTool\":\"VSTest\",\"testResultAttestation\":{\"total\":20,\"failed\":0,\"passed\":19,\"skipped\":0},\"testDurationSeconds\":0.0,\"testPassPercentage\":\"95\",\"relatedUrls\":[{\"url\":\"URL/_build/results?buildId=13313\",\"label\":\"pipeline-url\"}]}"}} 
##[debug]TestManagement.Agent.PTR.EnableFlakyCheck is on
##[debug]TestManagement.Server.TriggerCoverageMergeJob is on

管道模板:

jobs:
- job: build
  displayName: Build and validate
  steps:
    - task: DotNetCoreCLI@2
      displayName: 'dotnet restore'
      inputs:
        command: 'restore'
        projects: '${{ parameters.projectFile }}'
        feedsToUse: 'select'
        vstsFeed: '${{ parameters.vstsFeed }}'

    - task: DotNetCoreCLI@2
      displayName: 'dotnet build'
      inputs:
        command: 'build'
        projects: '${{ parameters.projectFile }}'
        arguments: '--configuration ${{ parameters.configuration }}'

    - task: DotNetCoreCLI@2
      displayName: 'dotnet test'
      inputs:
        command: test
        projects: '${{ parameters.projectFile }}'
        arguments: '--configuration ${{ parameters.configuration }}'

问题不在于管道本身。启动 chromedriver 和 BrowserStackLocal.exe 的是 运行 UI 测试。如果测试失败,这些可执行文件不会终止,导致管道等待直到这些服务关闭。这从未发生过,导致长时间等待并在 60 分钟后中止。