더북(TheBook)

예제 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]라고 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.