pytest ile birim testi

Python'da Teste Giriş

Alexander Levin

Data Scientist

Birim testi nedir

Birim - test edilebilen en küçük çalışan parça.

  • Birim örnekleri: fonksiyonlar, metodlar, sınıflar, modüller vb.

$$

Birim testi - bir yazılım test yöntemidir.

  • Birim testi, bir birimin doğruluğunu incelemenizi sağlar.

$$

Test durumu (test case) - birime ait girdiler ve beklenen çıktılar kümesi.

  • Test durumu, sorunun belirli bir parçasını özetler.
Python'da Teste Giriş

Neden birim testi kullanılır

Birim testleri - yazılımın "büyük resmini" test etmenin temelidir.

Kullanım alanları:

  • Hata bulunduğunda
  • Geliştirme sırasında
  • Değişikliklerden sonra
Python'da Teste Giriş

Birim testi nasıl oluşturulur

Adım adım:

  1. Test edilecek birimleri seçin
  2. Test durumlarını tanımlayın (yaratıcı kısım):
    • "Olası birim çıktıları nelerdir?"
    • "Birim nasıl kullanılabilir?"
    • "Tüm bu durumlarda birim nasıl davranmalı?"
  3. Her test durumu için kod yazın
  4. Testleri çalıştırın ve sonuçları analiz edin
Python'da Teste Giriş

Birim testi oluşturma: örnek

Test edilecek birim:

# Elemanların toplamı için fonksiyon
def sum_of_arr(array:list) -> int:
    return sum(array)

Test durumları:

  1. Girdi sayı listesidir (beklendiği gibi) - sum döndürmelidir
  2. Girdi boş listedir - 0 döndürmelidir
  3. Girdi tek bir number içeren listedir - number döndürmelidir
Python'da Teste Giriş

Birim testi oluşturma: kod

# Test Case 1: regular array
def test_regular():
    assert sum_of_arr([1, 2, 3]) == 6
    assert sum_of_arr([100, 150]) == 250
# Test Case 2: empty list
def test_empty():
    assert sum_of_arr([]) == 0
# Test Case 3: one number
def test_one_number():
    assert sum_of_arr([10]) == 10
    assert sum_of_arr([0]) == 0
Python'da Teste Giriş

Özet

Birim testi - bir birimin beklendiği gibi çalıştığını doğrulayan test.

Test durumu (test case) - sorunun belirli bir parçasını özetleyen giriş ve çıkışlar.

Kullanım alanları:

  • Hata bulunduğunda
  • Geliştirme sırasında
  • Değişikliklerden sonra

Test durumu tanımlama - yaratıcılık gerektirir.

Python'da Teste Giriş

Hadi pratik yapalım!

Python'da Teste Giriş

Preparing Video For Download...