这个错误一般是因为 dotnet test 运行时没有找到对应的测试项目或者测试项目中缺少了必要的 dll 文件。可以通过在 yaml 文件中增加以下代码来解决:
- task: DotNetCoreCLI@2
displayName: 'dotnet build'
inputs:
command: build
projects: '**/*.csproj'
arguments: '--configuration $(buildConfiguration)'
- task: DotNetCoreCLI@2
displayName: 'dotnet test'
inputs:
command: test
projects: '**/*Tests.csproj'
arguments: '--configuration $(buildConfiguration) --logger trx --collect "Code coverage"'
workingDirectory: '$(Build.SourcesDirectory)'
- task: PublishCodeCoverageResults@1
displayName: 'Publish code coverage'
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/coverage.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/coverageReports'
其中,第一段代码是编译项目,第二段代码是运行测试,第三段代码是发布代码覆盖率报告。需要注意的是,在第二段代码中,**/*Tests.csproj 表示测试项目的名称,如果测试项目的名称不是这个,需要根据实际情况修改。