-
Mockito BDD 스타일 APIBackEnd/Mockito 2022. 2. 11. 11:59반응형
BDD란 Behavior Driven Development의 약자로 애플리케이션이 어떻게 행동해야 하는지에 대한 공통적인 이해를 구성하는 방법으로 개발을 진행하는 것입니다. TDD(Test-driven development)에서 창안했습니다.
Mockito는 BDDMockito라는 클래스를 통해 BDD 스타일의 API를 제공합니다.
Given / When / Then
이전에 작성한 코드를 BDDMockito로 변환하면 아래와 같습니다. (when > given, verify > then)
@Test void bddTest() { // Given StudyService studyService = new StudyService(memberService, studyRepository); Member member = new Member(); member.setId(1L); member.setEmail("hello@mockito.com"); Study study = new Study(1, "Java"); /* when(memberService.findById(1L)).thenReturn(Optional.of(member)); when(studyRepository.save(study)).thenReturn(study); */ given(memberService.findById(1L)).willReturn(Optional.of(member)); given(studyRepository.save(study)).willReturn(study); // When studyService.createNewStudy(1L, study); // Then /* verify(memberService, times(1)).notify(study); verifyNoMoreInteractions(memberService); */ then(memberService).should(times(1)).notify(study); then(memberService).shouldHaveNoMoreInteractions(); }
[참고]
반응형