XUnit C#功能测试中的类型化配置

时间:2019-03-08 13:43:03

标签: c# asp.net-core xunit

我正在使用XUnit为我的API编写功能测试。 我已经使用类型配置了API。像这样:

public void ConfigureServices(IServiceCollection services)
{
  services.ConfigureServices(services)
          .Configure<SqlServerData>(Configuration.GetSection(nameof(SqlServerData)))
          .Configure<SolrData>(Configuration.GetSection(nameof(SolrData)));
}

当我尝试以相同的方式配置Microsoft.AspNetCore.TestHost类的TestServer时出现问题:

  Server = new TestServer(
    new WebHostBuilder()
      .ConfigureServices(services =>
      {
         //SOME STUFF
      })
      .Configure(Configuration.GetSection(nameof(SqlServerData)))
      .UseStartup<TestStartup>()
 );

我收到以下错误

  

无法从Microsoft.Extensions.Configuration.IConfigurationSection转换为System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder>

1 个答案:

答案 0 :(得分:0)

非常感谢您的回复:

我需要添加对Nuget的引用:

Microsoft.Extensions.Options.ConfigurationExtensions

现在我可以做类似的事情:

Server = new TestServer(
            new WebHostBuilder()
            .ConfigureServices(services =>
            {

                services.Configure<SqlServerData>(Configuration.GetSection("SqlServerData"));
                services.Configure<SolrData>(Configuration.GetSection("SolrData"));
            })
            .UseStartup<TestStartup>()
        );

谢谢