더북(TheBook)

4.2.2 준비-행동-어설트(AAA 패턴)

예제 4-1에서 테스트의 구조를 볼 수 있습니다. 테스트의 구조는 두 문장으로 시작해서, 빈 줄 하나, 세 줄짜리 단일문, 빈 줄 하나, 마지막으로 세 줄짜리 단일문으로 구성되어 있습니다.

이 구조는 대부분 의도적인 방법론의 결과물입니다. 여기서는 몇몇 문장이 여러 줄에 걸쳐서 기술된 이유를 설명하지 않고 넘어가고, 7.1.3절에서 더 자세히 설명하겠습니다.

반면 빈 줄로 코드를 나눈 것은 AAA 패턴이라고 부르는 준비-행동-어설트(Arrange-Act-Assert) 패턴[9]을 따랐기 때문입니다. 이 구성의 배경이 되는 아이디어는 유닛 테스트를 다음과 같이 세 부분으로 나누는 것입니다.

1. 준비(Arrange) 단계: 테스트에 필요한 모든 것을 준비합니다.

2. 행동(Act) 단계: 테스트하려는 작업을 호출합니다.

3. 어설트(Assert) 단계: 실제 결과가 예상 결과와 일치하는지 확인합니다.

경험을 통해서 이 패턴을 바꿔나갈 수도 있지만, 저는 보통 예제 4-1처럼 세 단계로 나누고 이를 빈 줄로 구분해서 표시합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.