예제 4-1 HTTP 홈 리소스에 대한 통합 테스트
(Restaurant/3ee0733/Restaurant.RestApi.Tests/HomeTests.cs)
[Fact]
public async Task HomeIsOk()
{
using var factory = new WebApplicationFactory<Startup>();
var client = factory.CreateClient();
var response = await client
.GetAsync( new Uri("", UriKind.Relative))
.ConfigureAwait( false);
Assert.True(
response.IsSuccessStatusCode,
$"Actual status code: {response.StatusCode}.");
}
사실 저는 소스 코드를 만들고 테스트 코드를 작성했기 때문에 테스트 주도 개발 과정을 따른 것은 아닙니다. 이런 형태의 테스트는 이미 있는 소프트웨어의 동작을 특성화(즉, 설명)하는 것이므로, 특성화 테스트(characterization test)[27]라고 합니다.