单元测试
GenericTestBase测试基类
能力
- 基本的IOC
- ILogger的支持
- TestOutputHelper 支持
public class GenericTest : GenericTestBase
{
public GenericTest(GenericTestFixture unitTestFixture, ITestOutputHelper testOutputHelper) : base(unitTestFixture, testOutputHelper)
{
}
[Fact(DisplayName = "TestLogging")]
public void TestLogging()
{
ScopedServiceProvider(sp =>
{
var logger = sp.GetRequiredService<ILogger<GenericTest>>();
logger.LogInformation($"This is a info message");
});
Assert.True(true);
}
}
集成测试示例
public class BasicTests : WebApiTestBase<AppHostConfig>
{
private readonly WebApplicationFactory<AppHostConfig> _factory;
public BasicTests(WebApplicationFactory<AppHostConfig> factory, ITestOutputHelper testOutputHelper) : base(factory, testOutputHelper)
{
_factory = factory;
}
[Theory]
[InlineData("/Home/Index")]
[InlineData("/HttpClientTest/Index")]
public async Task Get_EndpointsReturnSuccessAndCorrectContentType(string url)
{
// Arrange
var client = _factory.CreateClient();
// Act
var response = await client.GetAsync(url);
// Assert
response.EnsureSuccessStatusCode();
Assert.True(response.IsSuccessStatusCode);
}
}