150 votes

nosetests est la capture de la sortie de mes relevés imprimés. Comment faire pour contourner cela ?

Quand je tape

 $ nosetests -v mytest.py
 

toutes mes impressions sont capturées lorsque tous les tests sont réussis. Je veux voir les sorties d'impression, même tout passe.

Donc, ce que je fais est de forcer une erreur d'assertion à voir la sortie, comme ceci.

 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)
 

On se sent tellement mal, il doit y avoir un meilleur moyen. Eclaire moi s'il te plait.

227voto

codeape Points 38576

Non plus:

 $ nosetests --nocapture mytest.py
 

Ou:

 $ NOSE_NOCAPTURE=1 nosetests mytests.py
 

(il peut également être spécifié dans le fichier nose.cfg , voir nosetests --help )

17voto

Damian Points 623

Utilisation

 --nologcapture 
 

ça a fonctionné pour moi

3voto

Yauhen Yakimovich Points 2222

Afin de s'intégrer à http://travis-ci.org, j'ai ajouté ceci dans .travis.yml :

 script:  "python setup.py nosetests -s"
 

setup.py contient:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X