더북(TheBook)

4.3.7 저장소 생성

예제 4-10부터 여기까지 봐왔던 것처럼 유닛 테스트를 위해서 여러 가지 새로운 것들을 만들었습니다. 코드베이스 초기에는 기존 코드가 거의 없기 때문에 간단한 테스트만 해도 작성해야 할 코드가 폭발적으로 증가할 수밖에 없습니다. 아주 자연스러운 현상이죠.

테스트 환경에서 테스트와의 상호작용을 지원하기 위해 ReservationsController의 생성자와 Post 메서드도 수정해야 합니다. 생성자는 IReservationsRepository 매개변수를 받을 수 있도록 바꿔야 하고, Post 메서드는 ReservationDto 매개변수를 받을 수 있도록 바꿔야 합니다. 모든 부분을 수정하면 드디어 컴파일이 가능해져서 테스트를 진행할 수 있습니다.

물론 테스트를 실행하면 예상대로 실패합니다.

테스트를 통과하려면 Post 메서드에서 Reservation 객체를 저장소에 추가할 수 있도록 바꿔야 합니다. 그 방법은 예제 4-15에 있습니다.

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