Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当 Python 在测试上下文中运行时,我想抑制某些警告消息。
有没有办法在 Python 中全局检测到这一点?
不,您无法真正检测到您是否处于测试环境中,或者您会进行大量不必要的处理。例如:在运行测试时设置的测试包中有一个状态变量。但是随后您将在所有模块中包含该模块(或变量),这远非优雅。全球人是邪恶的。
基于执行上下文实现过滤输出的最佳方法是使用该logging模块并将所有不必要的警告消息置于低级别(如DEBUG)并在运行测试时忽略它们。
logging
DEBUG
另一种选择是为运行测试时明确忽略的所有消息添加一个级别。