테스트 더블에 대해서 설명해주세요

관련 개념: 테스트 더블

테스트 코드에서 실제 의존성을 사용하기 어려운 경우, 테스트 더블(Test Double) 을 사용할 수 있습니다. 테스트 더블은 의존성을 시뮬레이션하지만, 테스트에 더욱 적합하게 사용할 수 있도록 만듭니다. 실제 의존성을 포함하는 테스트는 외부 세계에 부수 효과를 유발할 수 있으며, 외부 세계에 의존적이기 때문에 비결정적인 동작을 유발할 수 있습니다. 또한, 실제 의존성을 포함하기 위해서 복잡한 설정이 필요한 경우도 존재합니다. 테스트 더블은 테스트로부터 외부 세계를 보호하고, 또 반대로 외부로부터 테스트를 보호하며, 복잡한 설정을 단순화할 수 있도록 해주는 가짜 의존성입니다.

테스트 더블의 종류에는 무엇이 있나요? 🤔

테스트 더블은 수행하는 역할에 따라서 더미, 스텁, 페이크, 스파이, 목으로 분류할 수 있습니다.

추가 학습 자료를 공유합니다.

CSLOG에서 보기