PyUnit Eğitimi: Python Birim Test Çerçevesi (Örnek ile)

Birim Testi Nedir?

Birim Testi in Python hataların daha az tekrarlandığı ve düzeltilmesinin daha ucuz olduğu, uygulamanın geliştirme aşamasında hataların erken tespit edilmesi için yapılır.

Birim testi, kodlanmış bir kod seviyesi testidir. Python küçük bir işlevsellik "birimini" doğrulamak için. Birim testi, test fikstürlerine dayanan nesne yönelimli bir çerçevedir.

Python Birim Test Teknikleri

Python Birim Testi esas olarak belirli bir modülün herhangi bir bağımlı koda erişmeden test edilmesini içerir. Geliştiriciler, kodu "birimlere" ayırmak ve tek tek parçalar üzerinde birim düzeyinde testler yürütmek için taslaklar ve taklitler gibi teknikleri kullanabilir.

  • Test Odaklı Geliştirme TDD'si: Birim Testi aşağıdakilerle birlikte yapılmalıdır: Pythonve bunun için geliştiriciler Test Odaklı Geliştirme yöntemini kullanıyor. TDD yönteminde öncelikle tasarım yaparsınız Python Birim testleri ve ancak o zaman bu özelliği uygulayacak kodu yazmaya devam edersiniz.
  • Taslaklar ve Alaylar: Bunlar, test edilen sahte yöntemleri simüle eden iki ana tekniktir. A koçan Birim testinin doğru çalışması için gereken bazı bağımlılıkları doldurmak için kullanılır. A sahte Öte yandan, iddia koyduğumuz testleri çalıştıran sahte bir nesnedir.

    Her iki yöntemin de amacı, bir sınıfın veya işlevin tüm bağımlılıklarının test edilmesini ortadan kaldırmaktır.

Python Birim Test Çerçevesi

Birim Testi sürecini kolaylaştırmak ve projenizin kalitesini artırmak için aşağıdakileri yapmanız önerilir: Python Birim Test Çerçevesi. Birim Testi çerçevesi şunları içerir:

Python Birim Test Teknikleri

  • PyBirimi: PyUnit, kodun otomatik testi için fikstürleri, test senaryolarını, test paketlerini ve bir test çalıştırıcısını destekler. PyUnit'te test senaryolarını aynı donanımlara sahip süitler halinde düzenleyebilirsiniz.
  • Burun: Nose'un yerleşik eklentileri çıktı yakalama, kod kapsamı, doktestler vb. konularda size yardımcı olur. Nose sözdizimi oldukça basittir ve test yazmanın önündeki engelleri azaltır. Uzatır Python Unittest testi kolaylaştırmak için.
  • Doktor testi: Doctest test betiği, dosyanın alt kısmında küçük işlevli docstring'e gider. Doctest, belgelerde yer alan örnekleri çalıştırarak ve bunların beklenen sonuçları döndürdüğünü doğrulayarak kodunuzu test etmenize olanak tanır. Doctest'in kullanım durumu daha az ayrıntılıdır ve özel durumları yakalamaz. Bir modülün ve bileşenlerinin ana kullanım durumunun açıklayıcı bir dokümantasyonu olarak faydalıdırlar.

PyUnit ile Birim Testi

Pyunit bir Python limanı JUnit. Pyunit'in bir parçası olarak Unittest modülünde beş temel sınıf vardır.

PyUnit ile Birim Testi

  • TestCase sınıfı: TestCase sınıfı test rutinlerini taşır ve her rutinin yapılması ve sonrasında temizlik yapılması için kancalar sunar
  • TestSuite sınıfı: Bir toplama konteyneri görevi görür ve birden fazla test senaryosu nesnesine ve birden fazla test paketi nesnesine sahip olabilir.
  • TestLoader sınıfı: Bu sınıf, yerel olarak veya harici bir dosyadan tanımlanan test senaryolarını ve paketleri yükler. Bu paketlere ve vakalara sahip olan bir test paketi nesnesi yayar
  • TextTestRunner sınıfı: Testleri yürütmek için testleri yürütmek üzere standart bir platform sağlar
  • TestSonuçları sınıfı: Test sonuçları için standart bir kap sunar

için bir test senaryosu tasarlamak Python PyUnit kullanarak test etme

Birim testi, yeni test senaryoları oluşturmak için kullanılabilecek bir temel sınıf olan test senaryosunu sağlar. Test senaryosunu tasarlamak için kullanılan üç grup yöntem vardır:

için bir test senaryosu tasarlamak Python

birimtest.TestCase

setUp()
teardown()

skipTest(aMesg:string)
fail(aMesg:string)

id():string
shortDescription():string

İlk sette ön ve son test kancaları bulunur. setup() yöntemi her test rutininden önce başlar, teardown() ise rutinden sonra başlar.

İkinci yöntem grubu testin yürütülmesini kontrol eder. Her iki yöntem de giriş olarak bir mesaj dizesi alır ve her ikisi de devam eden bir testi iptal eder. Ancak skiptest() yöntemi geçerli testi iptal ederken fail() yöntemi tamamen başarısız olur.

Son veya üçüncü yöntem testin belirlenmesine yardımcı olur. id() yöntemi, test senaryosu nesnesinin ve test rutininin adından oluşan bir dize döndürür. Ve yöntem kısaDescription() her test rutininin başlangıcında docstr yorumunu döndürür.

Kullanmanın avantajları Python Birim testi

  • Geliştirme döngüsünün başlarında hataları tespit etmenize yardımcı olur
  • Daha iyi programlar yazmanıza yardımcı olur
  • Diğer test yöntemleri ve araçlarıyla kolayca senkronize olur
  • Çok daha az hataya sahip olacak
  • Gelecekte çok daha az sonuçla değişiklik yapmak daha kolaydır

Günlük Guru99 Bülteni

Gününüze, şu anda elinize ulaşan en son ve en önemli yapay zeka haberleriyle başlayın.