4.4.5 가짜 데이터베이스를 사용한 경계 테스트
이제 남은 유일한 문제는 예제 4-7의 경계 테스트가 여전히 실패한다는 것입니다. Startup 클래스는 연결 문자열을 이용해서 SqlReservationsRepository 서비스를 구성해야 하지만, 테스트 내용에는 연결 문자열이나 데이터베이스가 없습니다.
자동화된 테스트를 위해 데이터베이스 설정과 해제를 자동화할 수 있지만, 번거롭고 테스트 속도도 느려집니다. 나중에 할 예정이지만34 지금은 아닙니다.
대신 예제 4-13에 있는 FakeDatabase에 대한 경계 테스트를 실행할 수 있습니다. 이를 위해서는 테스트의 WebApplicationFactory가 작동하는 방식을 바꿔야 합니다. ConfigureWebHost 메서드를 재정의하는 방법은 예제 4-22와 같습니다.
ConfigureServices 부분 코드는 Startup 클래스의 ConfigureServices 메서드가 실행된 이후에 실행됩니다. IReservationsRepository 인터페이스를 구현하는 모든 서비스(하나만 있습니다)를 찾아서 제거하고, 대신 FakeDatabase 인스턴스를 추가합니다.