김용욱 수석
정동인 프로
이동석 프로
sandromancuso/trip-service-kata
amara.org
[unit test] 정동인 프로
Mock 객체를 사용하는 상황
- 테스트 결과가 상황과 순간의 조건에 따라 달라질 경우
- 현재 시간, 현재 온도와 같이 예측 불가능한 값을 리턴할 때
- 테스트 작성을 위한 환경 구축이 어려울 경우
- 외부 시스템과 연계를 하는 모듈, 방화벽 등 보안이슈로 좁속이 불가능한 모듈을 테스트할 경우
- 테스트 시간이 너무 오래 걸릴 때
- 고성능 장비가 필요한 기능, 대용량 데이터를 처리하는 기능을 테스트할 경우
- 아직 구현이 안되어 있을 경우
- 동료 혹은 다른 팀이 개발할 예정이지만, 일정 상 아직 구현이 안되어 있고, 인터페이스만 도출되어 있을 때
Mock 객체 사용시 유의 점
- Mock을 사용한 테스트케이스는 유지 비용이 꾸준히 발생한다. mock 대상에 변경이 생기면 테스트 케이스가 깨지기 쉽다.
- 초반에 Mock 대신 실제 객체를 테스트에 사용 가능하다면 실제 객체를 사용하는 것이 좋다.
- Mocking할 객체의 상태와 동작이 너무 복잡하면 실제 객체를 사용하는 것을 검통한다.
Given, When, Then
g