2013-09-24 10 views
8

Testleri yazarken genellikle test_ ile öntanımlı modülleri adlandırıyorum, örneğin spam.py ve test_spam.py. Bu, testleri bulmayı kolaylaştırır. Bir modülde sınıfları test ederken, Test ile sonlandırılmış benzer bir sınıf adına sahip bir unittest.TestCase türevi oluşturun. Örneğin. Spam, SpamTest olur (TestSpam, Spam'un bir test uygulaması gibi görünür). Daha sonra sınıf fonksiyonları, test_ ile öneklenen ve _testcondition ya da başka bir tanımlayıcı postfix ile sonlanan test işlevleri tarafından test edilir. Bunun, orijinal nesne isimleri dahil edildiğinde parlak bir şekilde çalıştığını görüyorum.Modül işlevleri için Python birimi sınama adlandırma kuralı

Modül düzeyi işlevlerini test etmek istediğimde sorun oluşuyor. Düzenli yapmamın ardından, Test ile sonlandırılan işlevle aynı ada sahip bir unittest.TestCase türevi oluştururdum. Buradaki problem, sınıf isimlerinin deve kasalı olması ve fonksiyon isimlerinin alt kelimeleri ayrı harflere ayırmaktır. Adlandırma kuralı some_function göz ardı edilirse SomeFunctionTest olur. Yardım edemiyorum ama bunun çirkin olduğunu hissediyorum.

Daha iyi bir uyum ne olurdu? Ortak uygulama nedir? Bunun için pep8 gibi bir standart var mı? Ne kullaniyorsun?

+0

Dürüstçe? Bunun önemli olduğunu söyleyemem. Sadece tutarlı ol. – Veedrac

cevap

3

Yaptığınız yol en temiz yaklaşımdır - insanların bir modül seviyesi işlevini test etmeyi beklediği net bir yer olduğu sürece, iyi olduğunuzu düşünüyorum. Fonksiyon adı ve test sınıfı adı arasındaki stilistik fark - bir can sıkıntısı olmasına rağmen - endişelenecek kadar önemli değil.