Mockito 3

BDD 스타일 Mockito API

BDD는 잘짠 TDD 와 같다. BDD는 말 그대로 행동 주도 개발이다. → 사용자의 행위까지 생각하고 테스트하며 개발한다. 테스크는 Given-When-Then 이라는 양식에 맞춰서 사용한다. 아래는 테스트 코드는 BDD 방식으로 변경한 예시이다. /* Given */ when(memberService.findById(1L)).thenReturn(Optional.of(member)); when(studyRepository.save(study)).thenReturn(study); // when 을 BDD 스타일로 변경하면 given을 사용 given(memberService.findById(1L)).willReturn(Optional.of(member)); given(studyRepository.save..

JAVA 2022.12.26

Mock 객체 확인

verify(검증) 메소드를 이용하여 특정 메소드가 실행이 됐는지, 몇번 실행됐는지, 실행이 안됐는지 등 검증을 해볼 수 있다. verify 예제 @Test public void pratice(){ StudyService studyService = new StudyService(memberService, studyRepository); assertNotNull(studyService); Study study = new Study(10, "test"); Member member = new Member(); member.setId(1L); member.setEmail("eunjia190@gmail.com"); when(memberService.findById(1L)).thenReturn(Optional.of..

JAVA 2022.12.15

Mockito

mockito 는 mockito-core 와 mockito-junit-jupiter 두가지 의존성을 추가해줘야하는데 애초에 spring boot 프로젝트로 생성을 하면 자동으로 주입되어 있다. 직접 추가하려면 maven repository에서 추가! mockito는 쉽게 말해서 가짜 객체를 만들어 준다고 생각하자! 현재 MemberService는 interface 만 있고 구현되어있진 않다. 이럴때 test code 작성시 MemberService 에 가상의 Mock 인스턴스를 직접 만들어서 사용해야한다. @ExtendWith(MockitoExtension.class) // 이 어노테이션이 있어야 제대로 Mock이 동작한다. class StudyServiceTest { @Mock MemberService..

JAVA 2022.12.14