Mock 객체 Stubbing Mock 객체의 행동이란, 리턴 값이 있는 메소드는 모두 Null 을 리턴하고 있다. Optional 타입인 경우 Optional.empty로 리턴 Primitive 타입은 모두 Primitive 값을 따르고 있다. Ex. Boolean인 경우 'false' / Integer 혹은 Long인 경우 0 Collection의 경우 모두 비어있는 Collection을 가지고 있다. Void 메소드의 경우 예외를 던지지 않고 아무 일도 발생하지 않는다. Stubbing이란, Mock 객체의 행동을 조작하는 것을 말한다. Mock객체의 when 메소드를 활용하여 Stubbing을 진행해보자. Ex. 리턴값이 있는 when 메소드 활용 1 @Mock MemberService membe..
Mock 객체 만들기 Mock 객체는 언제 만들까? Service에서 인터페이스를 참조하는데, 로직을 구성할 때 해당 인터페이스에 있는 메소드들을 가져와 로직을 구성하고자 한다. 그러나 인터페이스의 구현체는 따로 구현되어 있지 않다. 이럴 때, 인터페이스가 구현되어 있다는 가정하에 구성한 Service 로직을 실행하고자 할 때 Mock 객체를 만들어 테스트 한다. 이 때, Mock 객체는 참조하는 인터페이스가 되는 것이다. Mock 객체를 만들어보자 @Test void createStudyService() { //1. memberService와 studyRepository를 파라미터로 받아 우리가 구성한 service를 테스트해보려고 하는데, // memberService와 studyRepository는..
Mockito Mock : 진짜 객체와 비슷하게 동작하지만, 프로그래머가 직접 그 객체의 행동을 관리하는 객체. Mockito : Mock 객체를 쉽게 만들고 관리하고 검증할 수 있는 방법을 제공한다. DB, API 호출 시 API 및 DB를 Mock 객체로 만들고 각각의 행동들이 어떻게 동작할지에 대해 Mockito를 사용해서 코딩하며 테스트를 진행한다. - 실제 API가 없거나 DAO나 Repository가 구현되어 있지 않아도 테스트가 가능하다. 스프링 부트와 스프링 부트가 아닐 때 Mockito 1. 스프링 부트를 사용 시 2.2 버전 이후에는 spring-boot-starter-tesat에서 자동으로 Mockito를 추가해준다. 2. 스프링 부트가 아닌 경우 org.mockito mockito-..
- Total
- Today
- Yesterday
- 자바8
- 복사 팩토리
- 점층적 생성 패턴
- 생성자
- 스프링부트
- 팩토리 메소드 패턴
- 인프런
- 이펙티브자바
- Spring
- 정적팩터리메서드
- 빌더 패턴
- @Lazy
- mustache
- try catch finally
- java
- springboot
- 빈 순환 참조
- 이펙티브 자바
- 김영한
- 연관관계
- JPA
- ifPresent
- junit
- effectivejava
- try with resources
- jdk버전
- package-private
- java8
- Effective Java
- flatMap
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |