尝试在 Visual Studio 2017 中运行测试时,所有编译都没有问题, 但是,当我尝试创建服务器和客户端进行测试时:
this.Server = new TestServer(
new WebHostBuilder()
.UseStartup<Startup>()
.UseContentRoot(di.FullName));
this.Client = this.Server.CreateClient();
TestServer
提示错误的依赖项(它尝试加载版本 1.0.0),即使 TestHost
包是:
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="1.1.1" />
同时测试失败并出现异常:
Cannot find method: 'System.Net.Http.HttpClient Microsoft.AspNetCore.TestHost.TestServer.CreateClient()'..
最佳答案
与VS 2017中错误的测试模板有关
在顶部手动添加 <PropertyGroup>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
在csproj
文件修复问题
关于unit-testing - 使用 TestServer 测试 ASP.NET Core 完整的 .NET Framework 给出了在 vs 2017 中找不到的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42697281/