我的团队和我正在使用Pytest + Jenkins自动化我们的产品测试。我们一直在使用python的标准Logging lib来在测试期间,每次测试之前和之后获得正确的日志消息等。我们有多层日志记录,我们注销了ERROR,WARNING,INFO和DEBUG。我们的记录器的默认值是INFO。我们在测试的主要设置中创建记录器对象,并将其传递给创建的每个对象,因此我们所有的日志都会转到同一个记录器。
到目前为止,当我们开发新功能或测试时,我们在本地处于DEBUG模式,并在向SVN提交新代码时将其更改回INFO,但我尝试添加选项以使用CLI,但我还没有发现任何易于实现的东西。我已经考虑过使用Fixtures,但据我所知,这些只是测试本身,而不是设置/拆卸阶段,并且创建日志的次数较少。 关于如何在CLI命令中添加Pytest选项以支持更改日志记录级别的任何黑客或想法?
答案 0 :(得分:1)
尝试--log-cli-level=INFO
喜欢:
pytest -vv -s --log-cli-level=INFO --log-cli-format="%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)" --log-cli-date-format="%Y-%m-%d %H:%M:%S" ./test_file.py
答案 1 :(得分:0)
现在已内置到pytest中。运行测试时,只需在命令行中添加“ --log-level =”即可。例如:
pytest --log-level=INFO