반응형

Mockito 2

단위 테스트에서 Mockito 잘 활용하기

서론 단위 테스트는 두 가지 견해 고전파와 런던파로 구분할 수 있다. 고전파는 켄트 백의 테스트 주도 개발(TDD)으로 원론적으로 접근하는 방식 때문에 '고전'이라 한다. 런던파는 런던 프로그래밍 커뮤니티에서 시작되어, 목 추종자라고도 불린다. 아래 글에서는 위의 학파와는 상관없이 단순히 단위 테스트에서 mockito를 잘 활용하는 방법에 대해서만 설명할 예정이다. 단위 테스트의 관심사 controller 👇 (interface) service 👇 service implementation (복잡한 비지니스 규칙) 👇 (interface) repository 👇 repository implementation (외부 의존성) 위의 흐름에서 단위 테스트 자체는 인터페이스의 실제 구현에 전혀 관심이 없다. 왜 ..

개발 2023.09.22

Mockito를 사용한 테스트에서의 OOM

상황 내가 만든 로직의 성능을 테스트하고자 연속적으로 호출하는 테스트 코드를 작성해봤다. 해당 로직에서는 레디스에 접근하는 경우가 있었기 때문에, Mock 객체를 활용해 실제 레디스에 접근하는 시간은 제외한 자바 코드의 성능만을 테스트 하고자 했다. 예시 코드는 아래와 같다. @MarsSpringBootTest @Slf4j class ServiceTest { private static final int CALL_STANDARD = 10_000_000; @Autowired private TestService testService; @Mock private Repository repository; @Test void run() { when(repository.find(xxx)).thenReturn(Optio..

트러블 슈팅 2023.01.03
반응형