以编程方式访问nose详细程度
我有一些测试,它们会把日志信息输出到标准输出(stdout),我想根据nose运行时的详细程度来改变我测试脚本中的日志级别。
我该如何在正在运行的测试中访问nose实例的详细程度呢?
2 个回答
1
这有点像小技巧,但你可以找出当前测试运行器正在使用哪个 nose.config.Config 对象,然后查看它的 config.verbosity 属性。
import nose.config
def test_checkverbosity():
import gc
for obj in gc.get_objects():
if isinstance(obj, nose.config.Config):
break
print obj.verbosity
assert False
1
看起来在nose中处理这个问题的标准方法是,在你的测试中使用logger
框架,然后通过--logging-level
选项来控制要捕获的日志级别。
默认情况下,nose会捕获测试中产生的所有日志,但你可以使用--logging-filter
这个配置参数来指定一个过滤器。