더북(TheBook)

4.4.5 가짜 데이터베이스를 사용한 경계 테스트

이제 남은 유일한 문제는 예제 4-7의 경계 테스트가 여전히 실패한다는 것입니다. Startup 클래스는 연결 문자열을 이용해서 SqlReservationsRepository 서비스를 구성해야 하지만, 테스트 내용에는 연결 문자열이나 데이터베이스가 없습니다.

자동화된 테스트를 위해 데이터베이스 설정과 해제를 자동화할 수 있지만, 번거롭고 테스트 속도도 느려집니다. 나중에 할 예정이지만34 지금은 아닙니다.

대신 예제 4-13에 있는 FakeDatabase에 대한 경계 테스트를 실행할 수 있습니다. 이를 위해서는 테스트의 WebApplicationFactory가 작동하는 방식을 바꿔야 합니다. ConfigureWebHost 메서드를 재정의하는 방법은 예제 4-22와 같습니다.

ConfigureServices 부분 코드는 Startup 클래스의 ConfigureServices 메서드가 실행된 이후에 실행됩니다. IReservationsRepository 인터페이스를 구현하는 모든 서비스(하나만 있습니다)를 찾아서 제거하고, 대신 FakeDatabase 인스턴스를 추가합니다.

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