UNIT TESTING WITH MOCKS: GETTING STARTED WITH MOCKITO EĞİTİMİ

Mockito ile bağımlılıkları izole edin

mock() ve @Mock, when/thenReturn stubbing, verify ile etkileşim doğrulama ve @InjectMocks

Unit Testing with Mocks: Getting Started with Mockito Eğitimi, Java geliştiricilerine bağımlılıkları taklit ederek birimi yalıtmayı öğretir.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Mock nesnesi oluşturmadan stubbing ve verify ile ilk gerçek servis testine

Unit Testing with Mocks: Getting Started with Mockito Eğitimi, Java geliştiricilerine bağımlılıkları taklit ederek birimi yalıtmayı Mockito ile öğretir. Katılımcılar mock() ve @Mock ile sahte nesne oluşturmayı, MockitoExtension kurulumunu, when/thenReturn ile stubbing yapmayı, ArgumentMatchers kullanımını ve verify ile etkileşimleri doğrulamayı uygulamalı işler. Eğitim @InjectMocks ile bağımlılık enjeksiyonu ve gerçek bir servis testiyle tamamlanır.

Süre ve Format

3 Gün. Her gün dört modül; her kavram IntelliJ ve Maven ortamında canlı kodlama ve küçük alıştırmalarla uygulamalı işlenir.

Seviye

Orta Seviye — Java birim testi yazan geliştiriciler için Mockito ile mock oluşturma, stubbing ve doğrulamaya giriş

Öğrenme Metodu

Her Mockito kavramı gerçek bir servis-repository örneği üzerinde canlı kodlanır; katılımcılar kendi testlerini yazarak pekiştirir.

Neden Bu Eğitim?

🧩Bağımlılıkları izole edin

Veritabanı veya dış servise gitmeden, bağımlılıkları mock'layarak birimi tek başına ve hızlıca test etmeyi öğrenirsiniz.

⚡Hızlı ve kararlı test

Gerçek bağımlılık yerine sahte nesne kullanarak ağ ve I/O'ya takılmayan, saniyeler içinde çalışan kararlı testler yazarsınız.

🔍Davranışı doğrulayın

verify ile birimin bağımlılıklarını doğru parametre ve sayıda çağırıp çağırmadığını kanıtlayarak etkileşimleri güvenceye alırsınız.

Anahtar Konular

mockito eğitimimock ile birim testmockito kursujava birim test eğitimistubbing nedirverify mockitoinjectmocks eğitimijunit mockito eğitimitest doubleargumentmatchers
“İyi bir birim testi, bağımlılıkları taklit ederek yalnızca tek bir davranışı sorgular; Mockito bu yalıtımı sade ve okunur kılar.”

Ön Koşullar

Eğitime başlamadan önce faydalı olacak bilgi ve deneyim alanları

1
Java bilgisi

Sınıf, arayüz, metot ve kalıtım gibi temel Java kavramlarına hakim olmak örnekleri takip etmek için gereklidir.

2
JUnit temeli

@Test, assertEquals gibi temel JUnit kullanımıyla daha önce basit birim testi yazmış olmak faydalıdır.

3
Maven veya Gradle

Bağımlılık ekleme ve test çalıştırma düzeyinde Maven ya da Gradle aşinalığı kurulum adımlarını kolaylaştırır.

4
IDE kullanımı

IntelliJ IDEA veya Eclipse'te proje açıp test çalıştırabilmek alıştırmaları yapmak için yeterlidir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı birim testte neden izolasyon gerektiğini kavrar, mock(), @Mock ve MockitoExtension ile sahte nesne oluşturmayı öğrenir ve test double türlerini ayırt eder.
Modül 1
Neden Mock? Birimi İzole Etme
  • Birim testin tanımı ve izolasyonun amacı
  • Gerçek bağımlılığın testi yavaşlatması ve kırılganlaştırması
  • İşbirlikçi (collaborator) nesnelerin taklit edilmesi
  • Test altındaki birimi (SUT) tek başına sınama
  • Mock kullanmanın uygun ve uygunsuz olduğu durumlar
  • Mockito'nun Java ekosistemindeki yeri ve amacı
Modül 2
Mock Nesnesi Oluşturma Yolları
  • Mockito.mock(Class) ile programatik mock üretme
  • @Mock anotasyonuyla alan düzeyinde mock tanımlama
  • MockitoAnnotations.openMocks ile başlatma
  • @ExtendWith(MockitoExtension.class) ile JUnit 5 entegrasyonu
  • Mock'un varsayılan (default) dönüş davranışı
  • strictness ayarıyla gereksiz stub uyarıları
Modül 3
Test Double Türlerini Ayırt Etme
  • Dummy, stub, mock, spy ve fake kavramları
  • Stub ile durum, mock ile davranış doğrulama farkı
  • Fake nesnelerin (örn. in-memory repo) kullanımı
  • Mock ve gerçek nesne arasında bilinçli seçim
  • Aşırı mock kullanımının testi kırılganlaştırması
  • Hangi işbirlikçinin taklit edilmesi gerektiğine karar
Modül 4
Mockito Kurulumu ve Proje Yapısı
  • mockito-core ve mockito-junit-jupiter bağımlılıkları
  • Maven pom.xml'e Mockito ekleme adımları
  • Test kaynak dizini (src/test/java) düzeni
  • JUnit 5 ile Mockito'nun birlikte yapılandırılması
  • İlk mock'lu test sınıfının iskeletinin yazılması
  • IDE'de testin çalıştırılması ve yeşil bar görme
Günün hedefiKatılımcı when/thenReturn ile mock davranışını tanımlar, ArgumentMatchers ile esnek eşleştirme yapar ve @InjectMocks ile bağımlılıkları test altındaki sınıfa enjekte etmeyi öğrenir.
Modül 1
when/thenReturn ile Stubbing
  • when(mock.metot()).thenReturn(deger) söz dizimi
  • Belirli girdi için belirli çıktı tanımlama
  • Aynı çağrıya ardışık farklı değerler döndürme
  • Stub edilmemiş çağrının varsayılan davranışı
  • void metotların doNothing ile ele alınması
  • Gereksiz stub'ların (unnecessary stubbing) temizlenmesi
Modül 2
Argüman Eşleştiriciler (ArgumentMatchers)
  • any(), anyString(), anyInt() ile genel eşleştirme
  • eq() ile belirli değerin eşleştirilmesi
  • Matcher ve gerçek değerin karıştırılamaması kuralı
  • argThat ile özel koşullu eşleştirici yazma
  • isNull ve notNull ile null durumlarının yönetimi
  • Eşleştiricilerin stub ve verify içinde kullanımı
Modül 3
Dönüş Değeri ve Davranış Stratejileri
  • thenReturn ile sabit değer döndürme
  • thenAnswer ile argüman bağımlı dinamik yanıt
  • RETURNS_DEEP_STUBS ile zincirli çağrı taklidi
  • Optional ve koleksiyon dönüşlerinin stub'lanması
  • Varsayılan yanıt (default answer) özelleştirmesi
  • Stub davranışının okunabilir tutulması
Modül 4
@InjectMocks ile Bağımlılık Enjeksiyonu
  • @InjectMocks ile SUT'a mock'ların yerleştirilmesi
  • Kurucu, alan ve setter enjeksiyonunun çözümlenmesi
  • Birden fazla bağımlılığın doğru eşlenmesi
  • Enjeksiyonun başarısız olduğu durumların teşhisi
  • Manuel kurucu enjeksiyonuyla karşılaştırma
  • Servis-repository örneğinde bağımlılık kurulumu
Günün hedefiKatılımcı verify ile mock etkileşimlerini doğrular, çağrı sayısı ve sırasını denetler, ArgumentCaptor ile iletilen argümanı yakalar ve gerçek bir servis testini baştan sona yazar.
Modül 1
verify ile Etkileşim Doğrulama
  • verify(mock).metot() ile çağrının kanıtlanması
  • Durum doğrulama ve etkileşim doğrulama ayrımı
  • verifyNoInteractions ile hiç çağrı olmaması
  • verifyNoMoreInteractions ile fazlalık çağrı kontrolü
  • Davranış doğrulamanın aşırıya kaçmaması
  • Hangi etkileşimin doğrulanmaya değer olduğu
Modül 2
Çağrı Sayısı ve Sırasının Denetimi
  • times(n), never(), atLeast ve atMost kullanımı
  • Beklenen çağrı sayısının belirtilmesi
  • InOrder ile çağrı sırasının doğrulanması
  • Birden fazla mock arasında sıra kontrolü
  • timeout ile asenkron çağrının doğrulanması
  • Sıra doğrulamanın aşırı kullanımının riski
Modül 3
ArgumentCaptor Temelleri
  • ArgumentCaptor ile iletilen argümanın yakalanması
  • @Captor anotasyonuyla captor tanımlama
  • Yakalanan değer üzerinde assertion yapma
  • Nesne argümanlarının alanlarının doğrulanması
  • Birden fazla çağrının argümanlarının toplanması
  • Captor ile matcher kullanımı arasında seçim
Modül 4
Gerçek Servis Testi Uygulaması
  • Repository bağımlılıklı bir servisin test edilmesi
  • Mutlu yol (happy path) senaryosunun yazılması
  • Boş sonuç ve sınır durumlarının test edilmesi
  • stub, çağrı ve doğrulamanın birlikte kurgulanması
  • Given-When-Then düzeniyle okunur test yazımı
  • Testin anlamlı adlandırılması ve bakımı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
İzolasyon mantığı

Birim testte neden izolasyon gerektiğini kavrar, hangi işbirlikçinin mock'lanacağına bilinçli karar verirsiniz.

✅
Mock oluşturma

mock(), @Mock ve MockitoExtension ile sahte nesneler üretip JUnit 5 projenize Mockito'yu doğru yapılandırırsınız.

✅
Test double türleri

Dummy, stub, mock, spy ve fake arasındaki farkı ayırt eder, her senaryoda uygun test double'ı seçersiniz.

✅
Stubbing

when/thenReturn ile mock davranışını tanımlar, ardışık dönüşler ve dinamik yanıtlarla senaryoları kurgularsınız.

✅
Argüman eşleştirme

any, eq ve argThat gibi ArgumentMatchers ile esnek ve kuralına uygun eşleştirmeler yazarsınız.

✅
Bağımlılık enjeksiyonu

@InjectMocks ile mock'ları test altındaki sınıfa enjekte ederek gerçek servis testleri kurarsınız.

✅
Etkileşim doğrulama

verify, times, never ve InOrder ile bağımlılıkların doğru parametre, sayı ve sırada çağrıldığını kanıtlarsınız.

✅
Argüman yakalama

ArgumentCaptor ile mock'a iletilen argümanları yakalayıp içeriği üzerinde ayrıntılı doğrulama yaparsınız.

Kimler İçin Uygundur?

  • Birim test yazan Java geliştiricileri
  • test otomasyon mühendisleri
  • Mockito'ya yeni başlayan backend geliştiriciler
  • testlerini bağımlılıklardan arındırmak isteyen yazılım ekipleri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Birim test yazan Java geliştiricileri, backend geliştiriciler ve test otomasyon mühendisleri için uygundur. Temel Java bilgisi ve @Test ile basit JUnit testi yazma deneyimi yeterlidir; Mockito deneyimi gerekmez.
Mock tam olarak ne işe yarar?
Mock, gerçek bir bağımlılığın yerine geçen sahte nesnedir. Veritabanı veya dış servise gitmeden birimi yalıtarak hızlı, kararlı test yazmanızı ve bağımlılıkla etkileşimi doğrulamanızı sağlar. Eğitimde mock oluşturma, stubbing ve verify uygulamalı işlenir.
Mockito ile JUnit arasındaki fark nedir?
JUnit testleri çalıştıran ve assertion sağlayan test çatısıdır; Mockito ise bağımlılıkları taklit etmeye (mock) yarayan bir kütüphanedir. İkisi birlikte kullanılır: JUnit testi yürütür, Mockito işbirlikçileri yalıtır. Eğitim ikisini JUnit 5 üzerinde birlikte işler.
Eğitimin süresi ve formatı nedir?
Eğitim üç gün sürer ve her gün dört modülden oluşur. Tüm kavramlar IntelliJ ve Maven ortamında bir servis-repository örneği üzerinde canlı kodlama ve alıştırmalarla işlenir. Program yüz yüze veya online yapılabilir ve kuruma göre uyarlanır.
Eğitim sonunda sertifika veriliyor mu?
Programı tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır. Eğitim, Mockito ile mock tabanlı birim testi gerçek örnekler üzerinde uygulamalı kazandırmaya odaklanır ve kuruma özel uyarlanabilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Unit Testing with Mocks: Getting Started with Mockito Eğitim Sertifika Kodu DV-2026XX00 Tarih 15.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Yazılım Test TemelleriUnit Testing: An Introduction to the JUnit Framework Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Unit Testing: An Introduction to the JUnit Framework Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

JUnit 5 mimarisi, Maven/Gradle kurulumu, @Test ve yaşam döngüsü, temel assertion'lar ve assertThrows ile sıfırdan birim test yazmayı öğreten giriş eğitimi.

Detayları Gör →
Yazılım Test TemelleriUnit Testing: Assertions & Assumptions in JUnit Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Unit Testing: Assertions & Assumptions in JUnit Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

JUnit 5 assertEquals, assertAll, assertThrows, assertTimeout, varsayımlar (assumeTrue), Hamcrest ve AssertJ ile doğru iddia seçimini öğreten birim test eğitimi.

Detayları Gör →
Yazılım Test TemelleriUnit Testing: Executing JUnit Tests Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Unit Testing: Executing JUnit Tests Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

JUnit 5 testlerini IDE, Maven Surefire, Gradle ve ConsoleLauncher ile çalıştırma, etiketle filtreleme, paralel yürütme ve CI entegrasyonunu öğreten eğitim.

Detayları Gör →
Yazılım Test TemelleriUnit Testing: Parameterized JUnit Tests Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Unit Testing: Parameterized JUnit Tests Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

JUnit 5 ile veri odaklı birim testi eğitimi: @ParameterizedTest, ValueSource, CsvSource, MethodSource, Mockito ve JaCoCo kapsam ölçümü. Kurumsal ve online.

Detayları Gör →
Yazılım Test TemelleriUygulamalı Yazılım Test Mühendisi Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Uygulamalı Yazılım Test Mühendisi Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Uçtan uca test mühendisi eğitimi: test tasarım teknikleri, hata yönetimi, Selenium ve Postman otomasyonu, test yönetimi ve CI/CD. Kurumsal ve online.

Detayları Gör →
Yazılım Test TemelleriVirtual IIBA İş Analistleri ve İş Birimleri için Yazılım Test Eğitimi
Yazılım Testi ve Kalite Eğitimleri

Virtual IIBA İş Analistleri ve İş Birimleri için Yazılım Test Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

İş analistleri ve iş birimleri için kod gerektirmeyen yazılım test eğitimi: kabul kriteri, UAT planlama, Gherkin BDD ve iş odaklı hata raporlama. Online.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn