我们开始使用nose框架在python中编写我们的功能和单元测试用例。我们在编写这些测试时开始学习python。由于我们的测试类/函数之间存在很多依赖关系,因此我们决定在鼻子顶部使用proboscis framework来控制执行顺序。
我们的测试中有很多'印刷'陈述,而长鼻似乎忽略了这些陈述!测试按预期顺序运行并测试它们,但不将打印语句数据打印到控制台。知道我们在这里缺少什么吗?
顺便说一下,一旦我们转移到长鼻并用@test装饰所有类及其成员函数,我们就停止从'unittest.TestCase'派生我们的类。答案 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