OutPut
Describe-Context-It
•
(Fact) TaskService 클래스에 대한 테스트 코드를 Describe - Context - It 패턴에 따라 작성했다. 반면 TaskController 클래스에 대한 테스트 코드는 일반적인 Given-When-Then 패턴을 따라서 작성했다. Describe - Context - It 패턴에 대해 처음 들어봤지만 BETTER SPECS, 기계인간님의 블로그를 참고하여 흉내낼 수 있었다.
•
(Feeling) Describe-Context-It 패턴에 따라 테스트를 작성하는 건 불편했지만, 테스트 결과를 읽는 건 무척 편했다. 해당 패턴에 따라 테스트를 작성하는 과정에서 여러 제약사항을 지켜야 한다. 가장 중요한 제약사항은 테스트 하나가 하나의 완성된 문장이 되어야 하는 것이다. 이런 과정이 익숙하지 않아 불편했다. 하지만 테스트를 완성했을 때, 아래 그림1과 같이 테스트 결과를 읽는 것은 매우 편했다.
•
(Finding) 평상시에 많이 사용했던 일반적인 Given-When-Then 패턴과 비교하면 Describe-Context-It 패턴이 테스트 결과에 대한 가독성이 월등하게 좋다. 그림1과 그림2를 비교하면 그 차이는 매우 뚜렷하다. 무수히 많은 테스트를 작성할 때 Describe-Context-It 패턴의 장점은 더욱 도드라질 것 같다. 이미 작성된 테스트를 한 눈에 보면서 빼먹은 Edge 케이스를 보강할 때, 특히 유용할 것으로 보인다.
•
(Future) 앞으로 Describe-Context-It 패턴에 따라 테스트를 작성해보자. 이 패턴을 숙달해보자.
참고
•
그림1, Describe-Context-It 패턴 테스트 결과
•
그림 2, 일반적인 Given-When-Then 패턴 테스트 결과