[우아한테크코스] 7월 12일 TIL
[Spring] mockito 사용시
- SpringBootTest에서 MockBean 생성해서 사용하는 방법
@SpringBootTest @ActiveProfiles("test") public class ServiceTest { @MockBean protected MemberRepository memberRepository; @MockBean protected ReservationRepository reservationRepository; @MockBean protected MapRepository mapRepository; @MockBean protected SpaceRepository spaceRepository; }
- Service 내에서 given when then 으로 사용하는 방법
given(mapRepository.existsById(anyLong())) .willReturn(true); given(spaceRepository.findById(anyLong())) .willReturn(Optional.of(SPACE)); when(reservationRepository.save(any(Reservation.class))) .thenReturn(savedReservation);
jpaRepository에서는 save가 given - willReturn으로 구현되지 않는다.
그게 아니라 넣는 값을 any로 넣어야 한다.given(reservationRepository.save(any(Reservation.class))) .willReturn(savedReservation);
BDD mockito vs mockito
BDD의 given() <-> Mockito의 when()
BDD의 then().should() <-> Mockito의 verify()
“시나리오에 맞게 테스트 코드가 읽힐 수 있도록”
[Java] DateTime 초 날리기
나는 분까지만 필요한데 LocalDateTime.now()에서 나노초까지 나온다면 .truncatedTo(ChronoUnit.SECONDS)
사용