테스트를 작성하다 보면 외부 요인이 필요한 시점이 있다.

(예를 들어, 회원 가입 기능을 테스트 하려는데 DB가 필요한 경우가 있을 수 있다.)

다음은 외부 요인이 테스트에 관여하는 주요 예시이다.

테스트 대상이 이런 외부 요인에 의존하면 테스트를 작성하고 실행하기 어려워진다.

필자의 경우, 결제 서비스에서 결제 기능을 테스트하는데 외부 결제 대행사에게 결제 요청을 보내고 결제 성공 여부를 받는 기능이 필요했다.

이를 테스트 하려면 어떻게 해야할까?

이런 경우가 바로 대역이 필요한 경우다.

간단한 예시로,

회원 가입 시 동일 ID를 가진 회원이 존재할 경우 예외를 발생 시키는 테스트를 진행해보자.

UserRegister