我们开始使用nose框架在python中编写函数和单元测试用例。我们在编写这些测试时开始学习python。由于测试类/函数之间有很多依赖关系,我们决定在nose顶部使用proboscis framework来控制执行顺序。
我们的测试中有很多‘打印’语句,而proboscis似乎忽略了这些!测试正在按预期的顺序运行并测试它们,但不会将打印语句数据打印到控制台。你知道我们这里缺了什么吗?
顺便说一句,当我们移到proboscis并用@test修饰所有类及其成员函数之后,就不再从“unittest.testcase”派生类了。
最佳答案
注意:根据Proboscisdocumentation“未使用的参数将被传递到Nose或unittest模块”,因此以下内容应通过将nosetests
替换为python run_tests.py
来适用于Proboscis。
正如@wooble在他的评论中提到的,默认情况下nose
会捕获stdout
并只显示失败的测试。您可以使用nosetests
-s
或--nocapture
开关覆盖此行为:
$ nosetests --nocapture
就像@Wooble在他的评论中提到的,我建议使用logging模块而不是
print
然后,您只需传递nosetests
或-l DEBUG
开关,其中--debug=DEBUG
被要显示的记录器名称的逗号分隔列表替换,即可显示模块的日志输出:$ nosetests --debug=your-logger-name