
Controller, Service, Entity, DTO 레이어에 맞는 단위 테스트 작성하기
aspect-oriented programming의 약자로 관점 지향 프로그래밍이라고도 말함.
AOP는 프로그램 구조에 대한 또 다른 사고 방식을 제공하여 객체 지향 프로그래밍(OOP)을 보완한다.
OOP에서 모듈화의 주 단위가 "클래스"라고 한다면, AOP에서는 핵심 단위가 "관점"이다.
반복되고 공통적으로 사용되는 부분을 분리함으로써 모듈성을 증가시키는 프로그래밍 방법.
Java 언어에서 독립된 단위 테스트(Unit Test)를 지원해 주는 프레임워크
단위 테스트를 위해 모의 객체를 생성하고 관리하는 데 사용되는 Java 오픈소스 프레임워크를 의미함.
사용하면 실제 객체의 동작을 모방하는 모의 객체(Mock Object)를 생성하여 코드의 ‘특정 부분을 격리’시키고 테스트하기 쉽게 만들어줌.
실제 사용되는 객체 생성을 대체하기 위해 테스트에 사용되는 객체를 의미.
일반적으로 모의 객체의 변수 값은 null, 0, false와 같은 기본 타입의 값이 반환,
메서드는 기본적으로 null을 구성
효율적이고 좋은 단위 테스트를 하기 위한 5가지 요소