print语句在python proboscis中不起作用

时间:2012-10-10 16:39:07

标签: python unit-testing functional-testing nose

我们开始使用nose框架在python中编写我们的功能和单元测试用例。我们在编写这些测试时开始学习python。由于我们的测试类/函数之间存在很多依赖关系,因此我们决定在鼻子顶部使用proboscis framework来控制执行顺序。

我们的测试中有很多'印刷'陈述,而长鼻似乎忽略了这些陈述!测试按预期顺序运行并测试它们,但不将打印语句数据打印到控制台。知道我们在这里缺少什么吗?

顺便说一下,一旦我们转移到长鼻并用@test装饰所有类及其成员函数,我们就停止从'unittest.TestCase'派生我们的类。

1 个答案:

答案 0 :(得分:3)

注意:根据 Proboscis documentation “未使用的参数传递给Nose或unittest模块”,所以将nosetests替换为python run_tests.py,以下内容应适用于 Proboscis

正如@Wooble在评论中提到的那样,默认情况下nose会捕获stdout并仅显示失败的测试。您可以使用nosetests -s--nocapture开关覆盖此行为:

$ nosetests --nocapture

就像@Wooble在评论中提到的一样,我建议使用logging模块而不是print。然后,您只需要传递nosetests -l DEBUG--debug=DEBUG开关,其中DEBUG将替换为您要显示的记录器名称的逗号分隔列表,启用显示模块的日志记录输出:

$ nosetests --debug=your-logger-name