2011-05-12 7 views
121

Bennosetests, baskı ifadelerimin çıktısını alıyor. Bu nasıl atlatılır?

$ nosetests -v mytest.py 

tüm testler geçerken tüm baskı çıkışları yakalanır yazın. Baskı çıktılarını her şeyin geçtiği halde görmek istiyorum.

Yaptığım şey, çıktıyı görmek için bir onaylama hatasını zorlamaktır.

class MyTest(TestCase): 

    def setUp(self): 
     self.debug = False 

    def test_0(self): 
     a = .... # construct an instance of something 
     # ... some tests statements 
     print a.dump() 
     if self.debug: 
      eq_(0,1) 

Bu kadar hakir, daha iyi bir yol olmalı. Aydınlat beni lütfen.

+0

Programlı bir şekilde nasıl yapılır? –

cevap

189

Ya:

$ nosetests --nocapture mytest.py 

Veya:

$ NOSE_NOCAPTURE=1 nosetests mytests.py 

--nologcapture 
+3

Yararlı yanıt için teşekkürler. Ayrıca bu argümanı http://stackoverflow.com/questions/7070501/passing-options-to-nose-in-a-python- adresinde belirtilen şekilde nose. test-script –

+1

Herhangi birinin kaynak görmek istemesi durumunda: http://nose.readthedocs.org/en/latest/plugins/capture.html –

+9

Bu komutun kısa versiyonu 'nosetests -s' şeklindedir. Diğer standart seçenekler için, '-h' yardımına veya [temel kullanım] (https://nose.readthedocs.org/en/latest/usage.html#selecting-tests) yardım sayfasına bakın. – dbn

14

kullanın (aynı zamanda nose.cfg dosyasında belirtilebilir, nosetests --help bakınız)ben içine bu koyduk http://travis-ci.org ile entegre etmek amacıyla beni

3

çalıştı .travis.yml: setup.py içeren

script: "python setup.py nosetests -s" 

:

setup(
    ... 
    tests_require=['nose>=1.0'], 
    test_suite='nose.collector', 
) 
8

Bu, yakın bir zamanda burnuna --nocapture yerine eklendi:

nosetests -s

+0

Bu, soruya bir cevap vermemektedir. Bir yazardan eleştiri yapmak veya açıklama istemek için yazılarının altında bir yorum bırakın. –

+7

@BhargavRao "bu notalar -s" sorusunu yanıtlıyor (dilbilgisi için en ufak bir saygı duymadan da olsa). Neden itiraz ettiğinden emin değilim. – dbliss