테스트 피라미드


스크린샷 2023-05-24 오후 1.47.05.png

테스트 피라미드에 따르면 비용이 많이 드는 테스트는 지양하고, 비용이 적은 테스트를 많이 만들어야 한다.

맥락에 따라 테스트 피라미드에 포함되는 계층은 달라질 수 있다.

헥사고날 아키텍처를 테스트하기 위해 내가 선택한 계층들을 한번 살펴보자.

단위 테스트, 통합 테스트, 시스템 테스트 의 정의는 맥락에 따라 다르다는 것을 알아두자.

단위 테스트는 피라미드의 토대에 해당한다.

일반적으로 하나의 클래스를 인스턴스화하고 해당 클래스의 인터페이스를 통해 기능들을 테스트한다.

만약 테스트 중인 클래스가 다른 클래스에 의존한다면?

→ 의존되는 클래스들은 인스턴스화하지 않고 필요한 작업들을 흉내내는 목(Mock)으로 대체한다.