From c3ab7070c1c86ab065ee470a1b4137dc13c01dfb Mon Sep 17 00:00:00 2001 From: haerong22 Date: Fri, 26 Feb 2021 22:44:58 +0900 Subject: [PATCH] application test : mockito - bddmockito --- .../apptest/study/StudyServiceTest.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/application-test/app-test/src/test/java/com/example/apptest/study/StudyServiceTest.java b/application-test/app-test/src/test/java/com/example/apptest/study/StudyServiceTest.java index 73cd0073..616e4558 100644 --- a/application-test/app-test/src/test/java/com/example/apptest/study/StudyServiceTest.java +++ b/application-test/app-test/src/test/java/com/example/apptest/study/StudyServiceTest.java @@ -6,6 +6,7 @@ import com.example.apptest.member.MemberService; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.BDDMockito; import org.mockito.InOrder; import org.mockito.Mock; import org.mockito.Mockito; @@ -15,11 +16,44 @@ import java.util.Optional; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.BDDMockito.*; import static org.mockito.Mockito.*; @ExtendWith(MockitoExtension.class) class StudyServiceTest { + @Test + @DisplayName("BDD style test") + void test_49(@Mock MemberService memberService, + @Mock StudyRepository studyRepository) { + + // Given : 주어진 상황 + StudyService studyService = new StudyService(memberService, studyRepository); + assertNotNull(studyService); + + Study study = new Study(10, "테스트"); + Member member = new Member(); + member.setId(1L); + member.setEmail("email@email.com"); + + // when -> given ( BDDMockito ) + given(memberService.findById(1L)).willReturn(Optional.of(member)); + given(studyRepository.save(study)).willReturn(study); + + // When : 어떤 행동을 했을 때 + Study newStudy = studyService.createNewStudy(1L, study); + + // Then : 그 결과 + assertEquals(member.getId(), newStudy.getOwnerId()); + + // verify -> then + then(memberService).should(times(1)).notify(newStudy); + then(memberService).should(times(1)).notify(member); + then(memberService).shouldHaveNoMoreInteractions(); + + System.out.println("테스트 완료!!"); + } + @Test @DisplayName("stubbing test") void test_48(@Mock MemberService memberService,