我们开始使用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

09-25 18:03