Java'da Test Yazma: JUnit 5 ve Mockito Rehberi
Bilkey Bilişim Akademisi
18.09.2024
3 okunma
İLERİ DÜZEY JAVA PROGRAMLAMA
JUnit 5 ile Temel Test
class HesapServisiTest {
HesapServisi servis = new HesapServisi();
@Test
@DisplayName("Pozitif bakiye ile para çekme başarılı olmalı")
void paraÇek_YeterliBaliye_Basarili() {
Hesap hesap = new Hesap(1000.0);
servis.paraCek(hesap, 500.0);
assertEquals(500.0, hesap.getBakiye());
}
@Test
void paraÇek_YetersizBakiye_ExceptionFirlatir() {
Hesap hesap = new Hesap(100.0);
assertThrows(YetersizBakiyeException.class,
() -> servis.paraCek(hesap, 500.0));
}
}
Mockito ile Mock
@ExtendWith(MockitoExtension.class)
class SiparisServisiTest {
@Mock UrunRepository urunRepo;
@Mock EmailServisi emailServisi;
@InjectMocks SiparisServisi servis;
@Test
void siparisOlustur_GecerliUrun_EmailGonderilir() {
when(urunRepo.findById(1L)).thenReturn(Optional.of(new Urun("Laptop", 1000.0)));
servis.olustur(new SiparisDTO(1L, "test@mail.com"));
verify(emailServisi, times(1)).bildirimGonder("test@mail.com");
}
}