鼻子测试正在捕获我的打印语句的输出。如何规避呢?


142

当我打字

$ 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)

感觉很难受,必须有更好的方法。请赐教。


知道如何以编程方式进行操作吗?
Yauhen Yakimovich 2014年

Answers:


219

要么:

$ nosetests --nocapture mytest.py

要么:

$ NOSE_NOCAPTURE=1 nosetests mytests.py

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


3
感谢您提供有用的答案。我还发现了解我可以将此参数传递给naser.main()很有帮助,如下所述:stackoverflow.com/questions/7070501/…–
David Hall,


12
该命令的简称为nosetests -s。有关其他标准选项,请参阅-h帮助或基本用法帮助页面。
dbn

python3.5 -m“ nose” --nocapture
Alex Punnen

1
不适用于我,即使使用此选项,测试通过时也不会打印我的打印语句
John Smith可选,


9

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

鼻子测试


这不能为问题提供答案。要批评或要求作者澄清,请在其帖子下方发表评论。
巴尔加夫(Bhargav Rao)

7
@BhargavRao“做这个鼻子测试-s”回答了这个问题(尽管对语法没有丝毫的关注)。我不确定你为什么反对。
dbliss 2015年

1
请注意,根据文档-s,这是--nocapture标志的单字母缩写。
joelostblom

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.