unittest’te fikstürler

Python'da Teste Giriş

Alexander Levin

Data Scientist

Fikstürlere kısa bakış

  • Fikstür
    • bir test için hazırlanmış ortam
    • hazırlığı test kodundan ayırır
  • Fikstür kurulumu: testler için kaynakları hazırlama
  • Fikstür sökümü: ayrılan kaynakları temizleme (“teardown”)
  • Örnek: piknik için yiyecek hazırlama ve sonunda temizleme
Python'da Teste Giriş

unittest kütüphanesinde fikstürler

  • unittest’te fikstür: bir veya daha fazla testi çalıştırmak için gereken hazırlık
  • .setUp(): testten önce fikstürü hazırlamak için çağrılır
  • .tearDown(): testten sonra ortamı temizlemek için çağrılır
1 https://docs.python.org/3/library/unittest.html
Python'da Teste Giriş

Örnek kod

import unittest

class TestLi(unittest.TestCase):
    # Fixture setup method
    def setUp(self):
        self.li = [i for i in range(100)]

    # Fixture teardown method
    def tearDown(self):
        self.li.clear()

    # Test method
    def test_your_list(self):
        self.assertIn(99, self.li)
        self.assertNotIn(100, self.li)
Python'da Teste Giriş

Büyük U ve büyük D

  • Doğru sözdizimi: setUp (U büyük) ve tearDown (D büyük).

    class TestLi(unittest.TestCase):
      # Fixture setup method
      def setUp(self):
          self.li = [i for i in range(100)]
    
      # Fixture teardown method
      def tearDown(self):
          self.li.clear()
    
Python'da Teste Giriş

Örnek çıktı

Komut: python3 -m unittest test_in_list.py

.setUp() ve .tearDown() ile bir çalıştırmanın çıktısı:

bir fikstürle çalıştırma çıktısı

Python'da Teste Giriş

Yanlış adlandırılmış yöntemler

.set_up() ile bir çalıştırmanın çıktısı:

yanlış adlı bir fikstürle çalıştırma çıktısı

Python'da Teste Giriş

Özet

  • unittest’te fikstür: bir veya daha fazla testi çalıştırmak için gereken hazırlık
  • Fikstür oluşturma:
    • .setUp() yöntemini yazın
    • .tearDown() yöntemini yazın
  • .setUp(): testten önce fikstürü hazırlamak için çağrılır.
  • .tearDown(): testten sonra ortamı temizlemek için çağrılır.
Python'da Teste Giriş

Hadi pratik yapalım!

Python'da Teste Giriş

Preparing Video For Download...