자바 개발자가 많이 사용하는 테스팅 기반 프레임워크
다양한 assertions 세트와 유용한 오류 메시지를 제공해 테스트 코드 가독성을 향상시키는 JAVA 라이브러리
JAVA용 오픈 소스 테스트 프레임워크
Mock을 간단하게 생성해주고 mock의 행동을 정하는 stubbing, 정상 작동하는지에 대한 verify 등 다양한 기능을 제공하는 프레임워크
이번 프로젝트에서 기능을 개발할 때, 테스트 코드를 처음으로 짜게 되었다.
JUnit5 + assertj + Mockito
를 사용하였다.
테스트 코드를 작성하다 보니, 처음엔 몰랐던 다음의 테스트 코드의 장점에 대해 알게 되었다.
내가 사용한 기준이다.
when().thenReturn();
when() 안에 껍데기 실행 조건을 작성하고, 이 때 반환되어야 하는 값을 반환해준다.
@MockBean
private CommonDao commonDao;
when(commonDao.insert("serviceClass.serviceMethod", paramMap)).thenReturn(1);
when(commonDao.update("serviceClass.serviceMethod", cancelReservationParamMap)).thenReturn(1);
MockedStatic<LocalDateTime> localDateTimeMockedStatic = Mockito.mockStatic(LocalDateTime.class, Mockito.CALLS_REAL_METHODS)
LocalDateTime editedNow = LocalDateTime.of(thisMonday.getYear(), thisMonday.getMonth(), thisMonday.getDayOfMonth(), 10, 0, 0);
localDateTimeMockedStatic.when(LocalDateTime::now).thenReturn(editedNow);
GIVEN
: 어떤 데이터가 주어졌을 때WHEN
: 어떠한 기능을 실행하면THEN
: 어떠한 결과를 기대한다.