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;
} );
}
}