Mockito 연습 문제

The Java Mockito 연습 문제

백기선님의 강의인 The Java 애플리케이션을 테스트하는 다양한 방법을 듣고 공부한 내용을 정리한 글

연습 문제

// StudyService.java
public Study openStudy(Study study) {
    study.open();
    Study openedStudy = repository.save(study);
    memberService.notify(openedStudy);
    return openedStudy;
}
// StudyServiceTest.java
@DisplayName("다른 사용자가 볼 수 있도록 스터디를 공개한다.")
@Test
void openStudy() {
    // Given
    StudyService studyService = new StudyService(memberService, studyRepository);
    Study study = new Study(10, "더 자바, 테스트");
    // TODO studyRepository Mock 객체의 save 메소드를호출 시 study를 리턴하도록 만들기.
    given(studyRepository.save(study)).willReturn(study);

    // When
    studyService.openStudy(study);

    // Then
    // TODO study의 status가 OPENED로 변경됐는지 확인
    assertEquals(StudyStatus.OPEND,study.getStatus());
    // TODO study의 openedDataTime이 null이 아닌지 확인
    assertNotNull(study.getOpenDataTime());
    // TODO memberService의 notify(study)가 호출 됐는지 확인.
    then(memberService).should().notify();
}

Reference

백기선님 인프런 강의 더 자바, 애플리케이션을 테스트하는 다양한 방법



© 2022. by minkuk

Powered by minkuk