//using System; //using System.Collections.Generic; //using System.Linq; //using System.Text; //using System.Threading.Tasks; //using Microsoft.AspNetCore.Builder; //using Microsoft.AspNetCore.Hosting; //using Microsoft.AspNetCore.TestHost; //using Microsoft.Extensions.Configuration; //using Microsoft.Extensions.DependencyInjection; //using Microsoft.Extensions.Hosting; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.TestHost; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Xunit; using Xunit.DependencyInjection.AspNetCoreTesting; using Xunit.DependencyInjection.Logging; namespace HttpClientStudy.UnitTest { /// /// 依赖注入 框架必备设置类 /// public class Startup { /// /// 创建主机:可选,一般不用 /// /// public IHostBuilder CreateHostBuilder() { return Host.CreateDefaultBuilder() ; } /// /// 配置主机:可选 /// /// public void ConfigureHost(IHostBuilder hostBuilder) { hostBuilder .ConfigureWebHost (webHostBuilder => webHostBuilder .UseTestServerAndAddDefaultHttpClient() .UseStartup() ); //hostBuilder // .ConfigureHostConfiguration(builder => { }) // .ConfigureAppConfiguration((context, builder) => { }); hostBuilder.ConfigureWebHost(webHostBuilder => { webHostBuilder .UseTestServer(options => options.PreserveExecutionContext = true) .ConfigureTestServices(a => { }) .UseStartup(); //配置默认配置项 //webHostBuilder.ConfigureAppConfiguration((context, configBuilder) => //{ // configBuilder.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); // configBuilder.AddJsonFile($"appsettings.{context.HostingEnvironment.EnvironmentName}.json", optional: true, reloadOnChange: true); //}); //webHostBuilder.ConfigureServices(services => //{ // services.AddHealthChecks(); //}); }); } /// /// 注册服务:必须 /// /// public void ConfigureServices(IServiceCollection services,HostBuilderContext context) { //services.AddTransient(); } private class WebApiStartup { public void ConfigureServices(IServiceCollection services) => services.AddLogging(lb => lb.AddXunitOutput()); public void Configure(IApplicationBuilder app) { app.Run(static context => context.Response.WriteAsync("xxxxxx")); } } } }