innerfunc
için unittests
veya doctests
yazmanın herhangi bir yolu var mı?Python'da bir iç işlevi test edebilir miyim?
def outerfunc():
def innerfunc():
do_something()
return innerfunc()
innerfunc
için unittests
veya doctests
yazmanın herhangi bir yolu var mı?Python'da bir iç işlevi test edebilir miyim?
def outerfunc():
def innerfunc():
do_something()
return innerfunc()
Eğer iç işlev nesnenin kendisine, örneğin çıkarmak için bir yol sağlar Yalnızca
def outerfunc(calltheinner=True):
def innerfunc():
do_something()
if calltheinner:
return innerfunc()
else:
return innerfunc
sizin dış işlevi birim testler aşırı ve toplam gizlilik için bu güçlü teklifi yenmek için güçsüz olan, kendi içinde bütünüyle iç birini (asla düzgün bunu cajoled zaman dışarıda percolate icar) gizleme ısrar ederse ;-).
, teşekkürler. – Gattster
Bu aslında eski bir açık Python konudur:
(2007'den) aday yama var yuvalanmış işlev bulmak doctest.testmod yapar, ama birileri muhtemelen bu itmek gerekiyor.
Normalde bunu yapmazsınız: API, kapatma işlevidir ve iç işlevler, işlevdeki kodun adlandırılmış kodlarına benzer. Doğrudan bir işlevi test etmediğiniz gibi, doğrudan bir işlevi test etmiyorsunuz; girişleri kod bloğunu kullanan işleve test edersiniz. Bu benim şüphem olan –