Python testi çerçevesinin standart xunit tarzı ile uyumlu bir birim test çerçeve var mı? Öyleyse, ne nerede olduğunu o olduğunu ve iyi mi?
Python Birim testleri
Orada testoob test.Also xUnit-ie oldukça komple paketi olan ve güzel bir raporlama seçeneği vardır
Orada da pyunit aradığınız şey olabilir.
@Greg: pyunit standart kitaplık olarak dahildir
unittest
Düşünün py.test . Değil NUnit tam olarak benzer, fakat test otomatik keşif ve bir "testleri ve kod İzle dahil güzel özelliklere sahip, çok iyi -. Şeyler değişiyor son kez başarısız testler yeniden zaman kısa sürede tüm testler her çalışan, anahtarını geçerken testler her birşeyler değişir." seçeneği.
Hiçbir zaman xUnit kullanılmış, bu nedenle çerçeveler iyi / kötü comparativly, ama eğer ben söyleyemem burada (API olması gerektiği gibi çalışır kontrol etmek) unittest çerçeveyi kullanan yazdığım bir senaryo olduğunu ve doctest.testmod (kontrol etmek örnekler I) iş verdik
Benim tek sorun şey bir istisna biraz dolambaçlı edilir yükseltir kontrol ediyor Bunun dışında .. (bunu çerçevenin geri kalanı gibi yerine sadece komuta kendisinden daha, özel durum bir işlev / lambda geçmek zorunda), ne yapar güvenilir, gerektiği ve bu oldukça uzun bir süre için varsayılan piton dağıtıma dahil edilmiştir.
Ben tavsiye burnu .
Bu birim test çerçeveler çoğu Pythonic olduğunu. Test koşucu doctestleri ve unittests hem çalışır, bu nedenle istediğiniz gibi testin tarzı ne olursa olsun kullanmakta serbesttirler.
Ben Burun önerilir.
Makul basit bir kurulumdan sonra, sadece tüm testleri bulup çalışacak proje klasörüne ve Burun içinde "nosetests" çalıştırmak zorunda. Ben de Python komut dosyalarında doğrudan Burun çağırmak için eklentileri koleksiyonu (kapsam, Gae, vb) ve becerisine gibi.
Burun esneklik ve rahatlık en iyi kombinasyonu gibi görünüyor. O (bir uzantısı ile) unittests, doctestleri, kapsama ve bir çerçeveden py.test benzeri testler çalışır ve böylece hayran yapar. O Komodo Edit gelince aferin bazı IDE entegrasyonu etti yeterli popülerlik vardır ve ben başka bir yerde de bunu görmek sürpriz olmaz.
Bir kuvvetli bir nedenle: Ben hemen hemen her zaman başka bir çerçevede daha kapsamlı testler yazmadan önce doctest. Temel testler için, doctestler bir taşla iki kuş vurmak, olmasıdır. Aynı anda hem de API belgeleri ve interaktif belgeleri (onlar bazen de yazmayı hantal biraz olmasına rağmen) Sen yürütülebilir testleri olsun. Eğer bir komut satırı seçeneği (--with-doctest) kullandığınızda burun paketlenmiş doctest.testmod uzantısını bu çalışacaktır.
Bu benim eski favori olarak py.test gelen ettikten söylerler. Büyük olsa da, burun testleri bunu kaçırmamak bana yeter benzer ve ben tabiri caizse, bir çatı altında çeşitli test yöntemleri entegrasyonunu gibi. YMMV, ama başka bir seçmeden önce burun iyi bak alarak öneriyoruz. Eğer py.test testleri ile aşina değilseniz, siz de onlara bakmak gerekir. Onları müthiş genellikle kolayca debug edilebilir şekilde yazılır çünkü bulmak olmadan ayıklama oturumu karışan bir tane daha az zor sistemini yapan test çerçevesi. Onlar da bence unittest testlerinden daha yazmak daha kolay iken ben, yalnız çok değerli buluyorum.