스터디/코드리뷰
의존성 역전을 활용하여 테스트하기 쉬운 구조를 만들자
들어가며테스트 코드를 작성하다보면 "이건 어떻게 테스트하지?" 싶은 순간이 온다.대표적으로 랜덤, 시간, 외부 API처럼 개발자가 제어할 수 없는 요소에 의존하는 코드가 그렇다.이런 코드를 테스트하려고 mock 라이브러리를 꺼내드는 경우를 종종 보는데mock 없이도 충분히 테스트할 수 있는 방법이 있다.의존성 역전 원칙(DIP)을 활용하면 된다.mock 을 무분별하게 사용하면 코드에서 악취가 나는 경우가 많다.가능하면 사용하지 말고 적저잭소에만 쓰자문제 상황아래와 같이 슬롯머신 게임을 구현한 객체가 있다고 하자.public class SlotMachine { private static final int REEL_COUNT = 3; private static final int MAX_SYMBOL..