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 分钟后中止。
在 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 分钟后中止。