우테코 자동차 경주 콘솔게임을 구현하면서 특히 단위 테스트 작성 연습에 집중했다. 이제 어느정도 단위 테스트에 대해 자신감이 차올랐을 때 문득 궁금한 점이 생겼다. System.in과 System.out 관련 로직들은 어떻게 테스트하지? 콘솔로 부터 사용자의 입력을 받는 것 (e.g. 자동차 이름, 경기 진행 횟수)이나 콘솔에 게임에 관련해서 출력해주는 것 (e.g. 우승자 발표를 정해진 형식에 맞게 출력)은 콘솔이 있어야만 테스트 가능한 것 아닌가? 근데 테스트 할때 어떻게 콘솔을 이용해먹지? 이런 생각을 하며 자린이인 나는 도저히 어떤 식으로 해야할지 감이 안왔다. 그래서 이를 간단하게 테스트 할 방법이 없을까에 대해 알아보기 위해서 그때부터 구글링을 시작했다. 역시나 stackoverflow에서 멋..