Bazen bir modülün veya sınıfın özel işlevleri, kendi testlerini hak edebilecek, henüz çıkarılmamış iç işlev birimleridir. Öyleyse neden onları test etmiyorsun? Onlar için daha sonra çıkarılıp çıkarılmadıklarını / ne zaman alındıklarını test edeceğiz . Öyleyse neden testleri hala aynı dosyanın parçası olduklarında yazmıyorsunuz?
Göstermek:
İlk olarak ben yazdım module_a
. Şimdi bunun için testler yazmak istiyorum. 'Özel' işlevini test etmek istiyorum _private_func
. Neden bunun için bir test yazamayacağımı anlamıyorum, daha sonra yine de kendi dahili modülüne yeniden bakabilir ve daha sonra bunun için testler yazabilirim.
Aşağıdaki işlevlere sahip bir modülüm olduğunu varsayalım (ayrıca bir sınıf olabilir):
def public_func(a):
b = _do_stuff(a)
return _do_more_stuff(b)
_do_stuff
ve _do_more_stuff
modülün 'özel' işlevleridir.
Uygulama ayrıntılarını değil, yalnızca ortak arayüzü test etmemiz gerektiği fikrini anlıyorum. Ancak, işte şey:
_do_stuff
ve _do_more_stuff
modülün işlevselliğinin çoğunu içerir. Her biri farklı bir 'dahili' modülün ortak bir işlevi olabilir. Ancak bunlar henüz gelişmemiş ve ayrı dosyalara çıkarılacak kadar büyük değil.
Bu nedenle, bu işlevlerin test edilmesi doğru hissettiriyor çünkü önemli işlevsellik birimleri. Kamusal işlevler olarak farklı modüllerde olsaydı, onları test ederdik. Öyleyse neden farklı bir dosyaya henüz (veya hiç) aktarılmadığında bunları test etmiyorsunuz?