들어가기 앞서
단위 테스트 스타일 비교
- 출력 기반, 상태 기반, 통신 기반 테스트 스타일에 대해서 알아보자.
함수형 아키텍처와 육각형 아키텍처의 관계
- 출력 기반 스타일로 변환하여 사용하기 위해 함수형 프로그래밍 원칙을 사용해 프로덕션 코드가 함수형 아키텍처를 지향하게끔 구성해야 한다.
- 본 장에서는 함수형 프로그래밍에 관한 내용을 자세히 다루진 않지만, 출력 기반 테스트와 어떻게 관련돼 있는지는 이해할 수 있을 것이다.
출력 기반 테스트로 전환
- 출력 기반 스타일을 사용해 테스트를 작성하는 법에 대해서 알아보자
- 함수형 프로그래밍과 함수형 아키텍처가 지닌 한계에 대해서 알아보자
GitHub - junhyung0927/Unit-Test-Study: 단위 테스트 스터디 학습 저장소
6.1 단위 테스트의 세 가지 스타일
6.1.1 출력 기반 테스트 정의
출력 기반 스타일은 테스트 대상 시스템(SUT)에 입력을 넣고 생성되는 출력을 점검하는 방식이다.

출력 기반 테스트는 시스템이 생성하는 출력을 검증한다. 이러한 테스트 스타일은 부작용이 없고 SUT 작업 결과는 호출자에게 반환하는 값 뿐이다.