4

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

我们的测试中有很多“打印”语句,而 proboscis 似乎忽略了这些!测试以预期的顺序运行并测试它们,但没有将我们的打印语句数据打印到控制台。知道我们在这里缺少什么吗?

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

4

1 回答 1

4

注意:根据Proboscis 文档 “未使用的参数传递给 Nose 或 unittest 模块”,因此以下内容应通过替换为适用于Proboscisnosetestspython run_tests.py

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

$ nosetests --nocapture

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

$ nosetests --debug=your-logger-name
于 2012-10-10T17:37:10.977 回答