【发布时间】:2020-01-27 23:14:32
【问题描述】:
我使用 logbook 来记录我的应用程序日志,使用 python 的 unittest 进行测试,并使用 tox 来在 jenkins 中运行我的测试。在分析我的测试输出时,有助于生产的日志记录非常分散注意力。是否可以在运行测试时禁止记录?
【问题讨论】:
标签: python python-3.x python-unittest tox logbook
我使用 logbook 来记录我的应用程序日志,使用 python 的 unittest 进行测试,并使用 tox 来在 jenkins 中运行我的测试。在分析我的测试输出时,有助于生产的日志记录非常分散注意力。是否可以在运行测试时禁止记录?
【问题讨论】:
标签: python python-3.x python-unittest tox logbook
选项 1:
将您的测试运行器切换到pytest,即captures/suppresses logging by default。请注意,pytest runner 可以并且仍然会收集使用 stdlib unittest 编写的测试。
选项 2:
模拟日志配置以在测试执行期间使用NullHandler。这意味着,在测试运行期间,否则将转到文件和/或 stderr 的日志记录将改为......无处可去。如果您确实想对记录的事件进行断言,则不能使用此方法,因为您需要配置日志捕获处理程序,例如 MemoryHandler。
【讨论】: