-
-
Notifications
You must be signed in to change notification settings - Fork 96
/
TestServerClientFixture.cs
37 lines (32 loc) · 1.11 KB
/
TestServerClientFixture.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using Microsoft.AspNetCore.TestHost;
namespace HappyCode.NetCoreBoilerplate.Api.IntegrationTests.Infrastructure
{
public class TestServerClientFixture
{
public HttpClient Client { get; }
public TestServerClientFixture()
{
var host = new HostBuilder()
.UseEnvironment("Test")
.ConfigureWebHost(webBuilder =>
{
webBuilder
.UseConfiguration(LoadAppConfiguration())
.UseStartup<TestStartup>()
.UseTestServer();
})
.Start();
Client = host.GetTestClient();
}
private static IConfigurationRoot LoadAppConfiguration()
{
return new ConfigurationBuilder()
.AddJsonFile($"appsettings.Test.json", optional: false)
.Build();
}
}
[CollectionDefinition(nameof(TestServerClientCollection))]
public class TestServerClientCollection : ICollectionFixture<TestServerClientFixture>
{
}
}