İçeriğe geç

Java'da Test Yazma: JUnit 5 ve Mockito Rehberi

18.09.2024 3 okunma

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");
    }
}
java junit 5 java mockito java unit test java tdd java spring test java test yazma pendik
İLERİ DÜZEY JAVA PROGRAMLAMA hakkında bilgi almak ister misiniz?

Birebir özel yüz yüze eğitim yada uzaktan eğitim, esnek ders saatleri ile Pendik Kurtköy'de.