使用TestServer测试ASP.NET Core完整.NET Framework提供了vs 2017中未找到的方法

时间:2017-03-09 13:57:37

标签: unit-testing asp.net-core visual-studio-2017

尝试在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()'..

1 个答案:

答案 0 :(得分:12)

与VS 2017中的错误测试模板有关 手动添加到顶部<PropertyGroup>

<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
csproj文件中的

修复了问题