最近捣鼓接口自动化测试过程,遇到好些问题,其中在对测试数据进行参数化时,执行后总是提示:
TypeError: get_data() missing 1 required positional argument: 'self'
附上代码:
调试了一上午,找不到原因,后来,各种百度,分析,终于....有点眉目,往下看
解决办法:把get_data()函数放到class TestApiLogin外面,问题得以解决
因为如果放在class内部,下面调用函数是需要实例化传参的,
究其原因,是对python中的self原理和用法不够熟悉,似是而非,个人总结,self相当于实例化对象本身,对于类中的方法,在一开始给定self,如果非要不写self,那就是在没有定义也没有调用的情况下,可以不写self,以上纯属个人体会,如有不当,欢迎指正~~~
这里推荐一篇文章,关于self用法详解,笔者认为写的比较详细:
https://blog.csdn.net/CLHugh/article/details/75000104