DCI 패턴이란?
DCI 패턴이란 Describe
Context
It
의 약자로 일종의 테스트 코드 작성 패턴이다.
Given
When
Then
과 비슷하지만 미묘한 차이점이 존재한다.
Describe
설명할 테스트 대상을 명시한다.
Context
테스트 대상이 놓인 상황을 설명한다.
It
테스트 대상의 행동을 설명한다.
DCI 패턴의 장점
- 테스트 코드를 계층 구조로 만들어 준다.
- 테스트 코드를 추가하거나 읽을 때 범위만 신경쓰면 된다.
- 작성하지 못한 테스트 코드를 찾기 쉽다.
JUnit5 @Nested 활용
JUnit5
의 @Nested
를 활용해 Java
에서도 이런 계층형 테스트 코드를 작성할 수 있다.
계층형으로 테스트 코드를 작성하게 된다면 위처럼 테스트 대상 메서드를 쉽게 찾을 수 있다.
이는 누락된 테스트를 찾거나 새로운 테스트를 추가할 때 상당히 편하다.
테스트를 실행할 때도 실패하는 케이스등을 찾을 때 훨씬 수월하게 찾을 수 있다.
References