- MOCKITO의 when() 은
- 코드 흐름상의 해당 레이어에서 고려하지 않아도 될 어떠한 메서드의 흐름에 대한 응답 등을 모킹하기 위하여
- 사용한다.
그런데
- 왜 when() 은 코드 흐름상에 given 에 해당하는 부분이라고 생각된다.
- 근데 왜 static 메서드 이름을 when() 을 설정하여
- 테스크 코드의 시나리오를 이딴 식으로 헷갈리게 해놓은 건지 모르겠다.
그래서 등장한게 BDDMockito 라고 한다.
- 관련 게시물은 아래를 참조하면 될 것 같다.
[Spring] BDDMockito VS Mockito
BDDMockito VS Mockito 최근 테스트 코드를 작성하는 것에 재미가 들려서 내가 이해할겸 정리해본다.🥸 순수 Mockito에서 BDD의 Given / When / Then을 위해서 다음과 같이 when( obj ) 메서드와 thenReturn() 이용하고 verify() 구문을 이용해 검증한다. 이런식으로 특정 상황에 대한 (when과 같이) 우리가 가짜로 결과를 만들어 주는 것을 Stubbing(스터빙) 이라고 한다. 즉, 가짜로 수행할 객체를 넣어주는 것이다. when(phoneBookRepository.contains(momContactName)) .thenReturn(false); phoneBookService.register(momContactName, momPhoneNumber);..

- 그냥 다 동일한데..
- when() → given() 이 주요하다
- 이미 부트에 들어가있는 Mockito를 그대로 전부 메서드이름을 바꾸게 할 순 없으니, BDDMockito 가 등장한게 아닐까?
- 여것도 참고하셈
Spring Boot(2) Mockito를 이용한 단위 테스트
개발 환경 : JAVA 1.8 / Spring Boot 2.4.1 / Gradle 6.7.1 / MySql IDE : IntelliJ 20.3.3 Dependency : spring-boot-starter-test:2.4.1 or mockito-all:1.10.19 저번에 이어 이번엔 Mockito라는 SpringBoot Test에 자주 사용되는 라이브러리를 가지고 단위 테스트를 공부하고, 공부하며 알게된 것들을 정리하고 저번처럼 예시를 가지고 실습도 해보려한다. 1. Mockito란? ( aka. Test Double ) Mockito 란 Mock을 지원하는 프레임워크로, 보통 Spring Boot Test에서 사용하는 JUnit 위에서 동작하며 Mock객체를 만들고 관리하고 검증할 수 있는 방법을 제..

Uploaded by N2T
'자바 > 리팩토링' 카테고리의 다른 글
[리팩토링] 기획된 개발은 차라리 낫지.. (0) | 2023.11.17 |
---|---|
[리팩토링 일기]취소와 반품의 경우 상태관리를 어떤식으로 해줄것인가.. (0) | 2023.11.15 |
[리팩토링 일기] 삭제 기능을 TDD 진행시 다른 기능이 선행으로 필요한 경우 (0) | 2023.11.10 |
[리팩토링 일기] Mybatis param NPE 발생이 안돼! (0) | 2023.11.10 |
[리팩토링 일기] doesNotThrowAnyException() 이 왜 동작하지 않아.. (0) | 2023.11.10 |