더북(TheBook)

수직 슬라이스를 만들 때는 원래 기대했던 대로 모든 조건이 맞아 예외나 오류가 발생하지 않는 상태를 목표로 삼습니다[66]. 잘못될 가능성이 있는 것은 일단 무시하세요17. 수직 슬라이스의 목표는 시스템에서 어떤 기능이 가능한지 증명하는 것입니다. 이 예에서 원하는 기능은 예약을 수신하고 저장하는 것입니다.

그렇게 해서 예제 4-7은 서비스에 유효한 예약을 게시합니다. 예약은 유효한 날짜, 이메일, 이름, 손님의 수를 반드시 포함해야 합니다. 테스트에서는 JSON 객체를 모사하기 위해서 익명 유형을 사용하며, 직렬화 이후에 나오는 JSON의 구조와 필드 이름은 같습니다.

예제 4-7 HTTP API로 유효한 예약을 게시하는 테스트. PostReservation 메서드는 예제 4-8에 있습니다.
(Restaurant/90e4869/Restaurant.RestApi.Tests/ReservationsTests.cs)

[Fact]
public async Task PostValidReservation()
{
    var response =  await PostReservation( new {
        date = "2023-03-10 19:00",
        email = "katinka@example.com",
        name = "Katinka Ingabogovinanana",
        quantity = 2 });
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.