在测试过程中,我遇到了4个弃用警告,它们是由我的代码使用库(而不是我的代码本身)生成的,所以我决定禁止显示警告消息。
根据python docs,-W命令行参数应接受正则表达式作为第三个参数(忽略来自特定模块的警告),但这似乎不正确。
实际上,尽管此命令可以禁止所有警告
python3 -m pytest . -v \
-Wignore::DeprecationWarning:aiohttp.connector \
-Wignore::DeprecationWarning:aiohttp.cookiejar \
-Wignore::DeprecationWarning:telepot.aio.api
此命令(regexp one)不会抑制任何警告:
python3 -m pytest . -v \
-Wignore::DeprecationWarning:aiohttp.* \
-Wignore::DeprecationWarning:telepot.*
(如果我用[。*]替换。*,则相同)
因此,如果我详细编写完整的模块软件包名称,则可以使用,但是如果我使用regexp作为整个软件包的全局引用(本例中为aiohttp和telepot),则无法使用
知道为什么吗?
使用在Ubuntu 16.04上从源代码构建的python 3.7.1在virtualenv上进行了测试