Jul*_*ian 5 azure-devops dotnet-test .net-6.0
Microsoft (R) 测试执行命令行工具版本 17.4.0存在错误,我们喜欢使用 17.3.1。
我们正在dotnet test
Azure Pipeline 中执行以下操作:
- task: UseDotNet@2
displayName: 'Use .NET 6'
inputs:
packageType: 'sdk'
version: '6.0.x'
# build tasks etc.
- task: DotNetCoreCLI@2
displayName: Run Unit Tests
inputs:
command: 'test'
projects: '$(testProjects)'
# ... more config
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,这有时给我们 17.4.0,有时为 17.3.1 - 即使使用相同的代码(重建相同的提交)。这可能是因为我们的构建代理与其他团队共享。
有没有办法强制测试执行命令行工具版本为 17.3.1 ?
对于管道代码覆盖率的问题,问题的原因是.Net7和测试工具版本17.4.0存在已知问题。有关更详细的信息,您可以参考此 Github 票证:dotnet test does not Forward MSBuild properties to msbuild in .NET 7 RC1
有没有办法强制测试执行命令行工具版本为 17.3.1?
是的。您可以通过添加 dotnet 测试参数强制版本 17.3.1:-p:VSTestConsolePath=localpath
。
这是一个例子:
- task: DotNetCoreCLI@2
displayName: Test
inputs:
command: test
projects: '**/The.Tests.csproj'
arguments: '-p:VSTestConsolePath="C:\Users\VssAdministrator\.nuget\packages\microsoft.testplatform.portable\17.3.1\tools\netcoreapp2.1\vstest.console.dll" /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:CoverletOutput=./coverage.cobertura.xml"'
Run Code Online (Sandbox Code Playgroud)
注意:您需要Microsoft.TestPlatform.Portable:17.3.1
在运行 dotnet 测试之前安装该软件包。
另一方面,测试平台团队确认与测试工具 17.4.0 相关的问题将在 12 月的时间内得到解决
归档时间: |
|
查看次数: |
1203 次 |
最近记录: |