【发布时间】:2020-07-08 13:11:28
【问题描述】:
我创建了一个 asp.net core webapi 项目并为它创建了一个对应的 xUnitTest。当我在本地机器上运行 UnitTest 时,UnitTest 运行没有任何问题。 我将 XUnit 与它的 visualstudio 运行器一起使用。 以下是我的 UnitTest 项目的参考资料:
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
<PackageReference Include="Moq" Version="4.13.1" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.assert" Version="2.4.1" />
<PackageReference Include="xunit.extensibility.core" Version="2.4.1" />
<PackageReference Include="xunit.extensibility.execution" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
当我现在通过 Azure Devops 运行单元测试时,它们运行成功并给我以下输出:
Created test run: 156
Publishing test results: 35
Publishing test results to test run '156'.
TestResults To Publish 35, Test run id:156
Test results publishing 35, remaining: 0. Test run id: 156
Published test results: 35
Publishing Attachments: 2
Failed tests: 0; Total tests: 35;
我遇到的问题是,后来我得到一个异常,“.deps.json”文件没有找到:
Unable to find d:\a\1\s\<project-path>\obj\Release\netcoreapp3.1\<project>.deps.json. Make sure test project has a nuget reference of package "Microsoft.NET.Test.Sdk".
然后我检查是否可以搜索二进制文件夹,但没有找到测试项目。 我还尝试使用“DotNetCoreCLI@2”任务和“VSTest@2”任务,都产生了同样的问题。 这是我使用的 yaml 文件:
# UnitTests
- task: VSBuild@1
inputs:
solution: '**/<projectnamespace>.UnitTests.csproj'
vsVersion: 16.0 #also tried without this line
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: DotNetCoreCLI@2
inputs:
command: test
projects: '**UnitTests.dll'
arguments: '--configuration $(buildConfiguration)'
- task: VSTest@2
inputs:
testSelector: testAssemblies
testAssemblyVer2: '**bin\**UnitTests*.dll'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
diagnosticsEnabled: true
codeCoverageEnabled: true
两个测试任务都将运行测试然后“失败”,因为找不到“.deps.json”文件。
【问题讨论】:
标签: asp.net-core .net-core azure-devops azure-pipelines xunit