PYTHON UNIT TESTING: ADVANCED PYTHON TESTING USING THE UNITTEST FRAMEWORK EĞİTİMİ

unittest ile ileri düzey Python testleri yazın

unittest.mock, patch, subTest, setUpClass, IsolatedAsyncioTestCase, test keşfi, kapsama ve bağımlılık izolasyonu ile ölçeklenebilir test paketleri kurun

unittest yaşam döngüsü, subTest, unittest.mock ve patch, autospec, asenkron test, test keşfi, coverage.py ve CI entegrasyonu gerçekçi zor test senaryolarıyla uygulamalı anlatılır.

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

Eğitim Hakkında

unittest çerçevesiyle ileri test teknikleri

Python unittest çerçevesinin ileri özelliklerini öğretir. TestCase yaşam döngüsü (setUp/tearDown, setUpClass, addCleanup), subTest ve parametreli test, unittest.mock (Mock, MagicMock, patch, side_effect, spec, autospec), bağımlılık izolasyonu, dosya/ağ/zaman testleri, IsolatedAsyncioTestCase ile asyncio testi, test suite ve loader, atlama ve beklenen başarısızlık, coverage ve CI entegrasyonu işlenir.

Süre ve Format

3 Gün. Her gün dört modül; 1. gün Test Düzeni ve Parametreli Test, 2. gün Mock ve Bağımlılık İzolasyonu, 3. gün Asenkron, Suite ve Kalite konularına ayrılmıştır.

Seviye

İleri Seviye — unittest ile mock, patch, subTest, test düzeni, asenkron test ve kapsama analizi

Öğrenme Metodu

Her modülde test edilmesi zor gerçek kod örnekleri (HTTP istemcisi, dosya yazıcı, zaman bağımlı sınıf) mock'larla izole edilerek test edilir.

Neden Bu Eğitim?

🧪Gelişmiş Mock

Dış bağımlılıkları patch ve autospec ile güvenle izole edersiniz.

♻️Temiz Test Düzeni

Fixture ve cleanup kalıplarıyla yan etkisiz testler yazarsınız.

📏Ölçülebilir Kalite

Kapsama raporlarıyla test boşluklarını bulursunuz.

Anahtar Konular

python unittestunittest mockpython patchsubTestIsolatedAsyncioTestCasepython test eğitimicoverage.pypython birim testitoxpython test otomasyonu
“İyi test, kodun ne yaptığını değil ne yapması gerektiğini söyler.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
unittest Temeli

TestCase ve assert metotlarının temel kullanımı bilinmelidir.

2
Python OOP

Sınıf, kalıtım ve context manager bilinmelidir.

3
Python 3.10+

Güncel Python ve unittest.mock kullanılabilir olmalıdır.

4
asyncio Temeli

async/await söz dizimine genel aşinalık faydalıdır.

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ı ile test düzeni ve parametreli test tekniklerini uygular.
Modül 1
Yaşam Döngüsü
  • setUp, tearDown
  • setUpClass, tearDownClass
  • setUpModule ve tearDownModule
  • addCleanup ve doCleanups
  • test sırası ve bağımsızlık
  • paylaşılan durum riskleri
Modül 2
subTest ve Parametreleme
  • self.subTest ile tablo testi
  • parametreleri döngüyle test etme
  • dinamik test üretimi
  • ddt / parameterized benzeri çözümler
  • başarısız alt testin raporu
  • okunabilir hata mesajı
Modül 3
İleri Assert'ler
  • assertRaises ve assertRaisesRegex bağlam yöneticisi
  • assertAlmostEqual ve delta
  • assertCountEqual, assertDictEqual
  • assertLogs ve assertNoLogs
  • assertWarns
  • özel assert metotları ve addTypeEqualityFunc
Modül 4
Atlama ve Beklenen Hata
  • skip, skipIf, skipUnless
  • expectedFailure
  • platform ve sürüm koşulları
  • koşullu test
  • test etiketleme
  • bilinen hataları yönetme
Günün hedefiKatılımcı ile dış bağımlılıkları mock ve patch ile izole eder.
Modül 1
Mock ve MagicMock
  • Mock nesnesi, return_value
  • side_effect: istisna ve sıralı değerler
  • assert_called_with, call_args_list
  • MagicMock ve sihirli metotlar
  • spec ve spec_set
  • create_autospec
Modül 2
patch
  • patch dekoratörü ve bağlam yöneticisi
  • doğru hedef: where to patch
  • patch.object ve patch.dict
  • patch ile sınıf/modül değiştirme
  • başlatma/durdurma (start/stop)
  • iç içe patch'ler
Modül 3
Dış Dünya Testleri
  • HTTP istemcisini mock'lama
  • dosya sistemi: mock_open ve tempfile
  • zaman: freezegun veya patch datetime
  • rastgelelik ve seed
  • ortam değişkenleri
  • veritabanı yerine fake nesne
Modül 4
Mock Tuzakları
  • aşırı mock'lama
  • gerçek davranışı gizleyen mock
  • autospec ile imza kontrolü
  • test edilen birimin sınırı
  • fake, stub, spy, mock ayrımı
  • kırılgan testlerden kaçınma
Günün hedefiKatılımcı ile asenkron kod test eder, suite düzenler ve kapsama ölçer.
Modül 1
Asenkron Test
  • IsolatedAsyncioTestCase
  • asyncSetUp ve asyncTearDown
  • AsyncMock
  • asyncio.wait_for ile zaman aşımı
  • olay döngüsü yönetimi
  • eşzamanlılık hatalarını test etme
Modül 2
Test Keşfi ve Suite
  • unittest discover ve desenler
  • TestLoader ve TestSuite
  • komut satırı seçenekleri (-k, -f, -v)
  • test paketi yapısı
  • özel TestRunner ve sonuç
  • XML rapor (unittest-xml-reporting)
Modül 3
Kapsama ve Kalite
  • coverage.py ile satır ve dal kapsamı
  • kapsama raporu okuma
  • mutation testing tanıtımı
  • testlenebilir tasarım
  • kod kokularını testle bulma
  • kapsam hedefi tartışması
Modül 4
CI ve Proje
  • GitHub Actions / GitLab CI
  • çoklu Python sürümü (tox, nox)
  • pre-commit
  • test verisi yönetimi
  • büyük bir sınıfı test paketiyle sarma
  • kapanış projesi: legacy kod için test

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Test Düzeni

setUpClass, addCleanup ve subTest ile temiz testler yazabilirsiniz.

✅
İleri Assert

assertRaises, assertLogs ve assertCountEqual kullanabilirsiniz.

✅
Mock

Mock, MagicMock ve autospec ile izolasyon kurabilirsiniz.

✅
patch

Doğru hedefe patch uygulayabilirsiniz.

✅
Dış Bağımlılık

HTTP, dosya ve zaman bağımlılıklarını test edebilirsiniz.

✅
Asenkron Test

IsolatedAsyncioTestCase ile async kodu test edebilirsiniz.

✅
Kapsama

coverage.py ile test boşluklarını raporlayabilirsiniz.

✅
CI Entegrasyonu

Testleri tox ve CI hattında çalıştırabilirsiniz.

Kimler İçin Uygundur?

  • unittest bilen Python geliştiricileri
  • kalite mühendisleri
  • test paketlerini sağlamlaştırmak isteyen ekipler

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
unittest bilen Python geliştiricileri ve kalite mühendislerinden test paketlerini sağlamlaştırmak isteyenler için uygundur.
pytest de anlatılıyor mu?
Odak unittest'tir; pytest karşılaştırması kısaca yapılır, ayrıntılar pytest eğitiminde işlenir.
Mock aşırı kullanım sorunu işleniyor mu?
Evet, Mock tuzakları ve fake/stub/spy ayrımı ayrı bir modüldür.
Asenkron test var mı?
Evet, IsolatedAsyncioTestCase ve AsyncMock uygulanır.
Sertifika verilir mi?
Katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

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. Python Unit Testing: Advanced Python Testing Using the unitt Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

PythonDash Python Framework: Creating Widgets in Dash Apps Eğitimi
Yazılım Geliştirme Eğitimleri

Dash Python Framework: Creating Widgets in Dash Apps Eğitimi

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

Dash widget eğitimi: dcc.Dropdown, Slider, DatePickerRange, Checklist, dcc.Store, çoklu callback ve Dash Bootstrap Components ile etkileşimli pano geliştirme.

Detayları Gör →
PythonDash Python Framework: Dash for Interactive Web Apps Eğitimi
Yazılım Geliştirme Eğitimleri

Dash Python Framework: Dash for Interactive Web Apps Eğitimi

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

Dash ile interaktif web uygulamaları eğitimi: layout, callback, Plotly grafikleri, widget, DataTable, çok sayfalı uygulama, kimlik doğrulama ve Docker ile yayın

Detayları Gör →
PythonDash Python Framework: Leveraging Dash with User Input & Dash DataTable Eğitimi
Yazılım Geliştirme Eğitimleri

Dash Python Framework: Leveraging Dash with User Input & Dash DataTable Eğitimi

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

Dash kullanıcı girdisi ve DataTable eğitimi: dcc.Input, dcc.Upload, n_clicks, bağımlı dropdown, sıralama, filtreleme, düzenlenebilir tablo ve veri dışa aktarma.

Detayları Gör →
PythonData Analytics Using Python and SQL Certificate Program Eğitimi
Yazılım Geliştirme Eğitimleri

Data Analytics Using Python and SQL Certificate Program Eğitimi

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

Python ve SQL ile veri analitiği sertifika programı: SQL sorguları, pandas, EDA, istatistik, görselleştirme, KPI, RFM ve uçtan uca kapsam projesi.

Detayları Gör →
PythonData Handling in Python Eğitimi
Yazılım Geliştirme Eğitimleri

Data Handling in Python Eğitimi

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

Python ile veri işleme eğitimi: dosya okuma-yazma, CSV ve JSON, veri yapıları, veri temizleme, pandas girişi, sqlite3 ve basit veri doğrulama.

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