我正在使用 pytest 在 Python 包中运行测试,我想知道作为测试的一部分执行的任何代码是否会引发弃用警告(当所有测试都通过时)。有谁知道这样做的方法?
问问题
1659 次
2 回答
1
编码
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>]
然后在该列表上断言。
于 2013-09-20T16:35:03.147 回答
1
从 pytest 3.1 开始,警告会在会话结束时自动显示:请参阅https://docs.pytest.org/en/latest/warnings.html
于 2017-10-06T11:22:00.207 回答