C# xUnit-deps.json不是为.NetCore 3.1[Api.deps.json';中的集成测试创建的。要正确运行功能测试,需要此文件。]
我有一个visual studio解决方案,包含两个项目,都在.Net Core 3.1中 Xyz.Api, Xyz.api测试 ApiTests是一个用于集成测试的xUnit项目 我遵循了这里提到的内容。 这就是ApiTests.csproj看起来的样子C# xUnit-deps.json不是为.NetCore 3.1[Api.deps.json';中的集成测试创建的。要正确运行功能测试,需要此文件。],c#,.net,.net-core,integration-testing,xunit,C#,.net,.net Core,Integration Testing,Xunit,我有一个visual studio解决方案,包含两个项目,都在.Net Core 3.1中 Xyz.Api, Xyz.api测试 ApiTests是一个用于集成测试的xUnit项目 我遵循了这里提到的内容。 这就是ApiTests.csproj看起来的样子 <Project Sdk="Microsoft.NET.Sdk.Web"> <ItemGroup> <PackageReference Include="Micr
<Project Sdk="Microsoft.NET.Sdk.Web">
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="3.1.8" />
<PackageReference Include="Microsoft.NETCore.App" Version="2.2.8" />
<PackageReference Include="xunit" Version="2.4.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
<PackageReference Include="coverlet.collector" Version="1.2.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Xyz.Api\Xyz.Api.csproj" />
</ItemGroup>
</Project>
我需要这样做,以确保它在Azure管道中工作
是否缺少任何内容,或者是否有其他方法可以做到这一点?尝试通过将
xunit.runner.json
文件添加到ApiTests.csproj中来禁用卷影复制
<ItemGroup>
<None Include="xunit.runner.json" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
因为这个原因,我的头撞在墙上好几个小时了,原因是缺少了一个变量。原因显而易见,我只是没有看到森林里的树木:
System.InvalidOperationException :
Can't find'/home/vsts/work/1/s/Code/.../bin/$(BuildConfiguration)/netcoreapp3.1/xxx.deps.json'. This file is required for functional ...
我没有说,$(BuildConfiguration)
还没有定义
所以我在变量部分设置了它,一切又好了:
variables:
tag: '$(Build.BuildId)'
dockerRegistryServiceConnection: 'xxx'
imageBaseName: 'xxx'
containerRegistry: 'xxx.azurecr.io'
BuildConfiguration: 'Release'
我也面临同样的问题。没有找到任何特殊的msbuild参数,因此只将其添加到my Tests.csproj
<ItemGroup>
<None Include="xunit.runner.json" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
在运行测试之前,您是否运行了dotnet restore
来还原一个包?如果您是在Azure管道上谈论的,那么是的。虽然它甚至没有运行本地发布的文件,但我在使用同一功能时遇到了这种错误。如果我没记错的话,它与deps文件无关,而是与测试运行程序有关。您是否尝试过做一个简单的“dotnet测试”而不是dotnet测试xyz.apitests.dll?找到解决方案了吗?请publish.BUILD project实际将引用项目的deps.json文件复制到bin文件夹中,但publish project没有复制引用项目的deps.json文件。此解决方案不起作用。
variables:
tag: '$(Build.BuildId)'
dockerRegistryServiceConnection: 'xxx'
imageBaseName: 'xxx'
containerRegistry: 'xxx.azurecr.io'
BuildConfiguration: 'Release'