我想在Python在测试环境中运行时禁止某些警告消息。
有没有办法在Python中全局检测?
答案 0 :(得分:2)
不,你无法真正发现自己是否处于测试环境中,或者你是否需要进行大量不必要的处理。例如:在运行测试时设置的测试包中有一个状态变量。但是,你会在所有模块中包含该模块(或变量),这将远非优雅。 Globals是邪恶的。
基于执行上下文实现过滤输出的最佳方法是使用logging
模块并将所有不必要的警告消息设置为较低级别(如DEBUG
)并在运行时忽略它们测试
另一种选择是为运行测试时明确忽略的所有消息添加一个级别。