단위테스트를 작성하다 보면 단위테스트의 한계를 알 수 있는데, 단위 테스트이 한계는 무엇일까?
단위테스트는 일부 모듈만을 대상으로 검증하기 때문에 여러 모듈의 조합 즉 컴포넌트들의 상호작용 또는 조합되었을 때 동작을 검증 할 수 없다. 따라서 여러 모듈이 조합되어 상호작용하는 테스트가 필요하다.
상태나 데이터를 관리하는 특정 컴포넌트를 기준으로 하위 컴포넌트가 제대로 렌더링 되는지 혹은 상위 컴포넌트와 하위 컴포넌트간의 동작이 올바른지 검증하는 테스트
통합 테스트를 호율적으로 작성하고 운영하기 위해서는 컴포넌트의 조합을 어떤 범위로 나눌지가 매우 종요하다. 그렇기 때문에 데이터를 관리하는 로직이 산재되어 있다면 통합테스트 작성이 매우 어렵다.
결국 통합테스트를 잘 작성하기 위해서는 좋은 설계가 기반이 되어야한다.
통합 테스트가 컴포넌트 간의 상호작용에 따른 기능이 올바르게 동작하는지를 테스트 하지만,
만약 통합테스트 대상으로 하나의 페이지 또는 하나의 컴포넌트 내에서 API 호출, 여러 상태관리등과 같은 수 많은 컴포넌트들을 함께 테스트 하는 경우,
즉 거대한 통합테스트를 진행하는 경우 아래와 같은 이유로 테스트의 신뢰를 깨뜨리게된다.

비즈니스 로직을 기준으로 통합테스트 작성!
✅ 비즈니스 로직이란?