1

当 Python 在测试上下文中运行时,我想抑制某些警告消息。

有没有办法在 Python 中全局检测到这一点?

4

1 回答 1

2

不,您无法真正检测到您是否处于测试环境中,或者您会进行大量不必要的处理。例如:在运行测试时设置的测试包中有一个状态变量。但是随后您将在所有模块中包含该模块(或变量),这远非优雅。全球人是邪恶的

基于执行上下文实现过滤输出的最佳方法是使用该logging模块并将所有不必要的警告消息置于低级别(如DEBUG)并在运行测试时忽略它们。

另一种选择是为运行测试时明确忽略的所有消息添加一个级别。

于 2013-06-25T22:19:18.580 回答