위클리 페이퍼 Week 10. 단위 테스트의 꽃 Mock, Stub, Spy
·
코드잇 스프린트
코드잇 스프린트 위클리 페이퍼 열번째 주제 10-2테스트에서 사용되는 Mockito의 Mock, Stub, Spy 개념을 각각 설명하고, 어떤 상황에서 어떤 방식을 선택해야 하는지 구체적인 예시와 함께 설명하세요. 단위 테스트(Unit Test)의 핵심은 "격리(Isolation)"다.예를 들어 OrderService(주문)를 테스트하고 싶은데, PaymentService(결제)나 DB가 실제로 동작해야만 테스트를 할 수 있다면, 그것은 좋은 단위 테스트가 아니다.외부 요인 때문에 테스트가 실패할 수 있기 때문이다. 이때 실제 객체 대신 투입되는 '가짜 대역 배우들'을 테스트 더블(Test Double)이라고 하고,Java에서는 Mockito 프레임워크를 통해 이것들을 쉽게 다룰 수 있다.Mockito의..
[Spring] Mockito와 Spring 테스트! 단위 테스트와 통합 테스트의 차이점
·
Spring
최근 포트폴리오에 추가할 프로젝트를 시작했는데,엔티티, 서비스, 컨트롤러, 리포지토리 등을 만든 후 정상 실행되는지 테스트를 실행하는 과정에서Mockito 기반 테스트와 Spring 기반 테스트의 차이점을 공부하게 됐다. 각각의 테스트는 다른 목적과 범위의 테스트를 지원하고, 사용하는 방식에도 차이가 있다고 한다. 먼저 Mockito가 무엇인지 알아보자. Mockito?Mockito는 자바에서 테스트 코드를 작성할 때 가장 널리 사용되는 Mocking Framework(모의 프레임워크)중 하나이다.테스트 시 실제 객체 대신 모의 객체(Mock Object)를 생성해 활용할 수 있다.Mock 객체를 활용하면 데이터베이스나 네트워크와 같은 외부 종속성과 독립적으로 동작을 검증할 수 있어, 핵심 로직에 집중한..