我使用.NET Core3.1.0开发了WebAPI项目,并使用XUnit进行了集成测试。
我在Azure DevOps CI Pipeline (azure-pipelines.yaml)中添加了以下任务来运行集成测试项目。
- task: DotNetCoreCLI@2
displayName: 'Run API integration tests - $(buildConfiguration)'
inputs:
command: 'test'
arguments: '--configuration $(buildConfiguration)'
publishTestResults: true
projects: '**/IntegrationTests/IntegrationTests.csproj'在流水线执行期间,我得到了下面的错误。如何解决此错误?
##errorError:进程'/usr/bin/dotnet‘失败,退出代码为%1
##warning.NET 5与较旧的Nuget版本(<=5.7)存在一些兼容性问题,因此如果您使用较旧的Nuget版本(而不是dotnet cli)进行恢复,则依赖于此类已恢复包的dotnet cli命令(例如dotnet build)可能会失败。要减少这种错误,您可以:(1) -使用dotnet cli进行恢复,(2) -使用Nuget版本5.8进行恢复,(3) -使用使用较旧sdk版本(<=3)的global.json进行构建
信息: Azure Pipeline托管代理已经更新,现在包含.Net 5.xSDK/运行时以及较旧的.Net核心版本,这些版本目前是lts。除非您已经为您的项目锁定了SDK版本,否则5.x SDK可能会被选中,与以前的版本相比,它可能会有破坏行为。您可以在此处了解有关突破性更改的更多信息:https://docs.microsoft.com/en-us/dotnet/core/tools/和https://docs.microsoft.com/en-us/dotnet/core/compatibility/。要了解更多此类更改并进行故障排除,请参阅此处:https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting
在以下项目上,##errorDotnet命令失败,退出代码非零: /home/vsts/work/1/s/src/IntegrationTests/IntegrationTests.csproj
发布于 2021-11-23 10:50:15
在使用.netcore 2.2时,我遇到了一个小问题。问题是,测试在开始恢复测试的包之前尝试构建,因此在测试运行或构建之前失败。帮助我克服这个问题的一件事是this FAQ
大多数dotnet命令,包括构建、发布和测试,都包含一个隐式还原步骤。即使您在前面的步骤中成功运行了dotnet还原,这对于经过身份验证的提要也会失败,因为前面的步骤已经清除了它使用的凭据。要解决此问题,请向参数文本框添加--no-restore标志。
我还读到,当涉及到像这样的here测试时,DotNetCLI有一些问题
因此,我最终使用一个脚本来解决这个问题和其他与包还原相关的问题。
- script: dotnet test '**/IntegrationTests/IntegrationTests.csproj' --configuration $(buildConfiguration) --logger trx;LogFileName=C:\temp\results
displayName: 'Run API integration tests - $(buildConfiguration)'我希望这会对你或任何有类似问题的人有所帮助。
发布于 2021-02-25 19:01:23
我也遇到过完全相同的问题,不同的是我的解决方案由.net5应用程序和.netcore3.1应用程序组成。
我能够通过在azure管道中指定更新的dotnet运行时来解决这个问题:
- task: UseDotNet@2
inputs:
version: '5.0.x'
packageType: runtimehttps://stackoverflow.com/questions/64986201
复制相似问题