pytest踩坑--运行报错DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3 ,and in 3.9 it will stop working

发布时间 2023-03-27 15:25:21作者: 测试-13

问题现象:

使用pytest运行用例时,用例执行完毕总会提示以下警告

 警告意思:弃用警告:从collections中导入ABCs已被弃用,并在python3.9中将停止工作,可使用collections.abc代替它进行使用

但我代码中并未使用这个库,也没有导入这个库。就很纳闷

 

解决:

百度了一下解决方法,总结一下:

1、-p no:warnings

在执行pytest用例的时候,跟上-p no:warnings参数,即可忽略警告

但每次执行都要打这个参数很麻烦,那么可以在pytest测试用例文件夹根目录新建一个pytest.ini,输入以下内容,定义全局运行用例,忽略警告

[pytest]
addopts = -p no:warnings

 

2、修改源码

但我使用pytest插件xidst里的--looponfail,发现上面方法忽略警告并没有生效,反正warning都提示调用代码文件和行数了,那么直接点击提示路径修改源码吧

发现第8行是调用,第5行是导入,那么要改的就这2处,统统改成collections.abc

 

那么重新执行pytest的测试用例,完美解决。没有警告。踩个坑记录下