Slide 38
Slide 38 text
ϞοΫΛ͏
ϞοΫΛར༻ͨ͠ςετ͜ͷΑ͏ͳܗʹͳΓ·͢ɻ
.PDLJUPΛར༻ͨ͠ྫ
class DiscountServiceTest {
@Mock private LocalDateService localDateService;
@Mock private PurchaseRepository purchaseRepository;
@InjectMocks private DiscountService discountService;
@BeforeEach
void beforeEach() {
MockitoAnnotations.openMocks(this);
}
@Test
void औҾ͕݅5݅ͷ߹200ԁׂҾ() {
String userId = "123";
LocalDate toDate = LocalDate.of(2022, 6, 13);
when(localDateService.now()).thenReturn(toDate);
LocalDate fromDate = LocalDate.of(2022, 6, 6);
List purcases =
IntStream.range(1, 6).mapToObj(i -> new Purchase(toDate, 100 * i)).toList();
when(purchaseRepository.findByPurchaseDateBetween(userId, fromDate, toDate))
.thenReturn(purcases);
int actual = discountService.discount(userId);
assertEquals(200, actual);
verify(localDateService).now();
verify(purchaseRepository).findByPurchaseDateBetween(userId, fromDate, toDate);
}
}
ϝιουͷΓΛϞοΫԽ