nosetests捕获我的print语句的输出。如何规避这个?

时间:2011-05-12 08:16:51

标签: python nosetests

当我输入

$ nosetests -v mytest.py

当所有测试通过时,我的所有打印输出都被捕获。 我希望看到打印输出甚至一切都过去了。

所以我正在做的是强制断言错误以查看输出,就像这样。

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)

感觉如此hackish,必须有更好的方式。请赐教。

5 个答案:

答案 0 :(得分:215)

或者:

$ nosetests --nocapture mytest.py

或者:

$ NOSE_NOCAPTURE=1 nosetests mytests.py

(也可以在nose.cfg文件中指定,请参阅nosetests --help

答案 1 :(得分:15)

使用

--nologcapture 

它对我有用

答案 2 :(得分:9)

最近添加到鼻子而不是--nocapture这样做:

nosetests -s

答案 3 :(得分:3)

为了与http://travis-ci.org集成,我已将其放入 .travis.yml

script:  "python setup.py nosetests -s"

其中 setup.py 包含:

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

答案 4 :(得分:0)

试试这个,

nosetests -v 2 -s yourtest

标志期望顺序。