using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Testing;
using Microsoft.AspNetCore.TestHost;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace XUnitDIStudy.Test.IntegrationTest
{
///
/// 自定义WebApp工厂
///
public class CustomWebAppFactory : WebApplicationFactory where TStartup : class
{
protected override IHostBuilder CreateHostBuilder()
{
return base
.CreateHostBuilder()
.ConfigureHostConfiguration(config =>
{
config.AddEnvironmentVariables("ASPNETCORE");
});
}
protected override IWebHostBuilder CreateWebHostBuilder()
{
return base
.CreateWebHostBuilder()
.UseEnvironment("Testing");
}
protected override TestServer CreateServer(IWebHostBuilder builder)
{
return base.CreateServer(builder);
}
protected override void ConfigureWebHost(IWebHostBuilder builder)
{
//Startup.ConfigureServices之后执行
builder.ConfigureServices(services =>
{
});
//后执行
builder.ConfigureTestServices(services =>
{
});
}
}
}