CHAP 07. 대역
테스트 주도 개발 시작하기 7장을 요약한 내용입니다.
대역의 필요성
대역을 이용한 테스트
public class StubCardNumberValidator extends CardNumberValidator {
private String invalidNo;
private String theftNo;
public void setInvalidNo(String invalidNo) {
this.invalidNo = invalidNo;
}
public void setTheftNo(String theftNo) {
this.theftNo = theftNo;
}
@Override
public CardValidity validate(String cardNumber) {
if (invalidNo != null && invalidNo.equals(cardNumber)) {
return CardValidity.INVALID;
}
if (theftNo != null && theftNo.equals(cardNumber)) {
return CardValidity.THEFT;
}
return CardValidity.VALID;
}
}대역의 종류
약한 암호 확인 기능에 스텁 사용
리포지토리를 가짜 구현으로 사용
이메일 발송 여부를 확인하기 위해 스파이를 사용
모의 객체로 스텁과 스파이 대체
상황과 결과 확인을 위한 협업 대상(의존) 도출과 대역 사용
대역과 개발 속도
모의 객체를 과하게 사용하지 않기
Last updated