using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.TestHost; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Util.Http; using Xunit.DependencyInjection.Logging; namespace Util.AspNetCore.Tests; /// /// 启动配置 /// public class Startup { /// /// 配置主机 /// public void ConfigureHost( IHostBuilder hostBuilder ) { hostBuilder.ConfigureWebHostDefaults( webHostBuilder => { webHostBuilder.UseTestServer() .Configure( t => { t.UseRouting(); t.UseAuthentication(); t.UseAuthorization(); t.UseEndpoints( endpoints => { endpoints.MapControllers(); } ); } ); } ) .AsBuild() .AddAcl() .AddUtil(); } /// /// 配置服务 /// public void ConfigureServices( IServiceCollection services ) { services.AddLogging( logBuilder => logBuilder.AddXunitOutput() ); services.AddControllers(); services.AddTransient( t => { var client = new HttpClientService(); client.SetHttpClient( t.GetService().GetTestClient() ); return client; } ); } }