Pio*_*ost 5 python logging unit-testing
在运行库提供的测试之前,库的用户如何运行自己的初始化代码(例如设置记录器的调试级别)?Python的unittest模块用作testrunner.
您可以尝试使用 pytest 来运行单元测试。如果这有效(许多基于单元测试的测试套件都有效),那么您可以创建一个小模块,例如“mymod.py”,定义一个 pytest 配置挂钩:
# content of mymod.py
def pytest_configure():
import logging
logging.getLogger().setLevel(logging.WARN)
Run Code Online (Sandbox Code Playgroud)
如果你现在像这样执行 py.test :
$ py.test -p mymmod --pyargs mylib
Run Code Online (Sandbox Code Playgroud)
然后将在“mylib”包中搜索测试,并在运行它们之前修改日志记录级别。“-p”选项指定要加载的插件,“--pyargs”告诉 pytest 首先尝试导入参数,而不是将它们视为目录或文件名(默认)。
欲了解更多信息:http://pytest.org和http://pytest.org/latest/unittest.html
HTH,霍尔格