2011-05-12 13 views
121

Cuando escribonosetests está capturando la salida de mis instrucciones de impresión. ¿Cómo eludir esto?

$ nosetests -v mytest.py 

todas mis salidas de impresión son capturados cuando pasan todas las pruebas. Quiero ver salidas de impresión aunque todo pase.

Entonces, lo que estoy haciendo es forzar un error de aserción para ver el resultado, así.

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) 

Se siente tan hackish, debe haber una mejor manera. Ilumíname por favor.

+0

¿Alguna idea de cómo hacerlo programáticamente? –

Respuesta

189

O bien:

$ nosetests --nocapture mytest.py 

O:

$ NOSE_NOCAPTURE=1 nosetests mytests.py 

(que también se puede especificar en el archivo nose.cfg, ver nosetests --help)

+3

Gracias por la útil respuesta. También me pareció útil saber que podría pasar este argumento a nose.main() como se describe en la publicación: http://stackoverflow.com/questions/7070501/passing-options-to-nose-in-a-python- test-script –

+1

En caso de que alguien quiera ver la fuente: http://nose.readthedocs.org/en/latest/plugins/capture.html –

+9

La versión corta de este comando es 'nosetests -s'. Para otras opciones estándar, consulte la página de ayuda '-h' o la de [uso básico] (https://nose.readthedocs.org/en/latest/usage.html#selecting-tests). – dbn

14

Uso

--nologcapture 

funcionó para mí

3

Con el fin de integrar con http://travis-ci.org He puesto esto en .travis.yml:

script: "python setup.py nosetests -s" 

donde setup.py contiene:

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

Esto se agregó recientemente a la nariz en lugar de --nocapture hacer esto:

nosetests -s

+0

Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar aclaraciones de un autor, deje un comentario debajo de su publicación. –

+7

@BhargavRao "do this nosetests -s" responde la pregunta (aunque sin la menor consideración por la gramática). No estoy seguro de por qué te opones. – dbliss

Cuestiones relacionadas