我和我的团队正在使用 Pytest + Jenkins 来自动化我们的产品测试。我们一直在使用 python 的标准日志记录库在测试期间、每次测试之前和之后等获取正确的日志消息。我们有多层日志记录,我们注销 ERROR、WARNING、INFO 和 DEBUG。我们记录器的默认值是 INFO。我们在测试的主要设置中创建记录器对象,并将其传递给创建的每个对象,因此我们所有的日志都进入同一个记录器。
到目前为止,当我们开发新功能或测试时,我们在本地以 DEBUG 模式工作,并在向我们的 SVN 提交新代码时将其更改回 INFO,但我正在尝试添加选项以使用 CLI 更改日志记录级别,但是我还没有发现任何容易实施的东西。我考虑过使用 Fixtures,但据我了解,这些仅用于测试本身,而不用于设置/拆卸阶段,并且创建日志时考虑的测试较少。关于如何向 CLI 命令添加 Pytest 选项以支持更改日志记录级别的任何 hack 或想法?
原文由 Avishay Cohen 发布,翻译遵循 CC BY-SA 4.0 许可协议
Pytest 3.5 引入了一个参数
对于 3.5 之前的版本,您可以结合 pytest 命令行选项 和 命令行示例中的 python 日志级别来执行以下操作:
将以下内容添加到
conftest.py
:然后在测试中请求
logger
夹具然后像这样运行pytest
将日志级别设置为
INFO
。