X单元测试与.net core 2.2不兼容

时间:2019-01-21 06:16:25

标签: unit-testing asp.net-core .net-core xunit

我的Web应用程序带有.net core 2.2

我想用XUnitMSUnit测试我的Web应用程序,但是对它有问题。

Microsoft.NETCore.App项目中XUnit软件包的版本是2.1.0,而api项目中的Microsoft.NETCore.App版本是2.2。

我搜索了许多小时,并做了我看到的所有工作,但工作量很大。 我该怎么办?

2 个答案:

答案 0 :(得分:1)

只需添加

<PackageReference Include="Microsoft.AspNetCore.App"/>

对于您的测试项目,进行重建,就可以了。

这是我的.csproj的示例

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>

    <IsPackable>false</IsPackable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App"/>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
    <PackageReference Include="Moq" Version="4.13.0" />
    <PackageReference Include="xunit" Version="2.4.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
  </ItemGroup>

...

</Project>

您可以从this

检查问题

答案 1 :(得分:0)

您可以在this链接上看到,在Github上也出现了同样的问题,似乎XUnit没有提供解决方案。我在我的.NET Core v2.2项目中使用了Nunit,它工作正常。要查看库,您可以签出this页面。语法与XUnit非常相似,我想它不会花那么长时间来更新测试。因此,我建议您迁移NUnit。