영상 목록: https://okky.kr/article/538114
[OKKYCON: 2018] 정진욱 - 테스트하기 쉬운 코드로 개발하기
- 코드 실행 후 같은 결과를 기대할 수 있는 코드
- 외부 모듈에 의존하지 않고, 외부 상태를 변경하지 않는 코드
- 테스트가 쉬운 코드와 어려운 코드를 서로 분리한다.
- 테스트가 쉬운 모듈과 어려운 모듈을 최대한 가장자리에서 만나도록 한다. 테스트 쉬운 모듈은 어려운 모듈을 합성으로 사용한다.
- 가장자리는 수둥 또는 자동으로 테스트한다.
- Mock(Double)
- Seam
| 상태검증 | 행위검증 |
|---|---|
| classicist | mockist |
| inside-out | outside-in |
| 구현체 필요 | 구현체 불필요 |
- Private 함수는 Public 함수를 통해서 테스트한다.
- 레거시는 구현을 테스트하지 않고, 인터페이스를 만들어 in/out 레벨로 테스트한다(Characterization).