Python birim test veri yazdırılıyor
Eğer python (unittest modülü kullanarak) birim testleri yazıyorum, bu hataya neden olan sorunu anlamak yardımcı olmak için muayene edeyim başarısız bir test, veri çıkış mümkün mü? Biraz bilgi taşıyabilen özel bir mesaj oluşturmak için yeteneği farkındayım, ama bazen kolayca bir dize olarak temsil edilebilir mi bu daha karmaşık veri ile anlaşma olabilir.
Örneğin, bir sınıf Foo vardı, ve bir yöntem test çubuğu, liste testdata adı verilen verileri kullanarak varsayalım:
class TestBar(unittest.TestCase):
def runTest(self):
for t1, t2 in testdata:
f = Foo(t1)
self.assertEqual(f.bar(t2), 2)
Eğer test başarısız olursa, t1, t2 ve/veya f, bu özel bir veri başarısızlıkla sonuçlandı neden çıktı isteyebilirsiniz. Çıktı, test bittikten sonra değişkenleri diğer değişkenler gibi erişilebilir.
CEVAP
Bu günlüğe kaydetme modülünü kullanıyoruz.
Örneğin:
import logging
class SomeTest( unittest.TestCase ):
def testSomething( self ):
log= logging.getLogger( "SomeTest.testSomething" )
log.debug( "this= %r", self.this )
log.debug( "that= %r", self.that )
# etc.
self.assertEquals( 3.14, pi )
if __name__ == "__main__":
logging.basicConfig( stream=sys.stderr )
logging.getLogger( "SomeTest.testSomething" ).setLevel( logging.DEBUG )
unittest.main()
Bize başarısız olduğunu biliyoruz ve bunun için ek hata ayıklama bilgilerini istiyoruz özel testler için hata ayıklama açmak için izin verir.
Benim tercih edilen yöntem, ancak, hata ayıklama üzerinde çok zaman geçirdim, ama iyi ayarlanmış sorunu ortaya çıkarmak için daha fazla test yazarak geçirmek değil.
Nasıl python django birim test ederken...
Python birim temel ve alt sınıf test...
Nasıl birim Temel Veri kullanıyorum şi...
Nasıl terminalden Curl ile JSON veri g...
Nasıl birim dişli kod test yapmalıyım?...