用于捕获日志日志消息的py.test插件
pytest-logbook的Python项目详细描述
在测试运行期间捕获并显示日志记录输出。
此pytest插件提供将捕获由 日志,并在测试报告中显示在自己的部分,如果 测试失败。此外,它还提供了一个 轻松访问测试期间发出的日志记录,这允许 对发出的日志消息进行断言。该插件还设置 从stdlib进行日志重定向以通过日志,因此 还将捕获使用stdlib日志记录的库。
安装
使用pip安装:
pip install pytest-logbook
日志捕获
日志捕获在安装后自动进行,包括stdlib 日志重定向:
def test_foo(): logbook.info('hello') logging.info('world') assert 0
$ py.test test_foo.py =========================== test session starts ============================ platform linux -- Python 3.4.3, pytest-2.8.2, py-1.4.30, pluggy-0.3.1 rootdir: /home/flub/Abilisoft/repos/pytest-logbook, inifile: plugins: logbook-0.1.0 collected 1 items test_foo.py F ================================= FAILURES ================================= _________________________________ test_foo _________________________________ def test_foo(): logbook.info('hello') logging.info('world') > assert 0 E assert 0 test_foo.py:7: AssertionError --------------------------- Logbook call records --------------------------- [INFO] Generic: hello [INFO] root: world ========================= 1 failed in 0.01 seconds =========================
在测试设置和拆卸过程中发出的日志消息也会被捕获 个别地。如果安装失败,您将在“日志设置”中看到它们 “记录”部分,如果拆卸失败,您将看到拆卸日志 “行车日志拆卸记录”部分中的信息。
固定装置
提供了几个fixture来访问捕获的日志记录。
- 日志处理程序
- 在测试期间访问活动的logbook.TestHandler实例 快跑。您可以使用它来检查发出的日志记录,请参见 full documentation了解如何使用此对象的详细信息。只有 在实际测试过程中发出的日志记录被记录在这里, 测试设置或拆卸过程中发出的记录记录在 其他固定装置。
- 日志处理程序设置
- 在测试期间访问活动的logbook.TestHandler实例 设置。
- 日志处理程序拆卸
- 在测试期间访问活动的logbook.TestHandler实例 拆卸。
配置
插件可以使用标准[pytest]部分中py.test configuration file中的选项进行配置。
- 行车日志
- 这配置是否将stdlib日志重定向到 日志。设置为true(默认)或false。
更改日志
1.2.0
- 重构内部工作以改善键盘操作时的行为 中断和内部py.test错误。作为一个小的回归 keep things简单日志记录现在只在测试期间捕获 设置、调用或拆卸阶段,在conftest期间不捕获 正在加载或测试集合。这不是固有的限制, 只是避免不必要的功能。
- 在测试方法中使用fixture而不仅仅是测试函数。
1.1.0
- 如果应用程序损坏了日志堆栈,请不要失败。
1.0.3
- 需要日志簿0.11.3来获取logging.compat模块 无障碍。
1.0.2
- 包括LICENSE。
- 在ship license、tox.ini和test模块中添加MANIFEST.in。
- 开始保存变更日志。
- 将依赖项修复为要求py.test>;=2.8,因为钩子是 实施。
1.0.1
- 不要制造万向轮。仅在python3上测试/支持。
1.0.1
- 初次发布。