더북(TheBook)

예제 4-3 코드 분석 관련 경고가 적게 나오도록 만든 테스트
(Restaurant/d8167c3/Restaurant.RestApi.Tests/HomeTests.cs)

[Fact]
[SuppressMessage(
    "Usage", "CA2234:Pass system uri objects instead of strings",
    Justification = "URL isn't passed as variable, but as literal.")]
public async Task HomeIsOk()
{
    using var factory =  new WebApplicationFactory<Startup>();
    var client = factory.CreateClient();

    var response =  await client.GetAsync("");

    Assert.True(
        response.IsSuccessStatusCode,
        $"Actual status code: {response.StatusCode}.");
}

예제 4-3은 모든 테스트에 대해 ConfigureAwait 규칙을 끄고, 특정 테스트에 대해 Uri 규칙을 끈 테스트 코드입니다. 행동 부분이 세 줄에서 한 줄로 줄었습니다. 가장 중요한 건 코드 읽기가 더 쉬워졌다는 점입니다. (내용상으로 봤을 때) 잡음에 해당하던 코드가 제거되었습니다.

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