ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Mockito BDD 스타일 API
    BackEnd/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();
        }

     

    [참고]

    BDDMockito

    반응형

    'BackEnd > Mockito' 카테고리의 다른 글

    Mockito  (0) 2022.02.11

    댓글

Designed by Tistory.