我正在使用 pytest 在 Python 包中运行测试,我想知道作为测试的一部分执行的任何代码是否引发弃用警告(当所有测试都通过时)。有谁知道这样做的方法吗?
最佳答案
代码
import warnings
warnings.simplefilter("error")
会将(所有)警告变成错误,这可能会有所帮助。
或者,您可以获取生成的警告列表
import warnings
with warnings.catch_warnings(record=True) as w:
warnings.warn("deprecated", DeprecationWarning)
print(w)
#>>> [<warnings.WarningMessage object at 0x7fee80484f50>]
然后对该列表进行断言。
关于python - 使用 pytest 检查是否有任何测试引发弃用警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18920576/