pytest 中 setup_class teardown_class是类方法

问题

描述:在测试类中写实例方法,teardown_class 无法调用

问题原因

teardown_class是一个类方法。因为pytest做了特殊的处理,所以teardown_class不加@classmethod装饰器也可以正常运行。

所以 teardown_class 是类方法,但调用的 self.swip_find(self,text=‘’) 是个实例方法,而teardown_class 是不存在实例对象本身(self参数)的,但是本次调用并没有传递,所以会显示缺少参数的问题。

可以通过将被调用方法改为类方法或者将该调用移动到setup_method中解决

解决方式

方法一

将需要调用的方法改为类方法。

方法二

测试类中理应只写测试方法,涉及工具类的方法放到外层额外处理。