소프트웨어에 결함이 있는지 찾는 과정
가장 중요하고, 가장 많이 작성하게 되는 테스트이다.
특정 부분을 고립해서 테스트하며, 클래스나 메서드 하나를 단위로 테스트를 작성하게 된다.
단위 테스트 작성 시, 대상 클래스와 협력 관계인 객체는 테스트 더블로 대체해서 전달하게 된다.
단위 테스트의 3 단계
모듈 간의 연동, 외부 시스템과의 연동까지 테스트 하는 것
시스템 전체를 보는 것은 End-to-End 테스트라 한다.
테스트 중,행위 검증을 위해 사용하는 모의 객체
Mock 객체 - mock, spy
Stub 객체 - stub, dummy, fake
테스트에 사용되는 애플리케이션 컨텍스트를 관리해주는 프레임워크
통합테스트를 할 때, 스프링 컨테이너 내에서 Bean들간의 커뮤니케이션을 테스트해야하는 경우가 생긴다. 이 때, 테스트를 위한 IoC 컨테이너를 제공하며 캐싱을 통해 빠른 테스트를 가능하도록 돕는다.
https://docs.spring.io/spring-framework/reference/testing/testcontext-framework.html