原始需求:实现CI插件时所需一种独立的测试手段,并统一管理测试函数(pytest的实现方式)
1.先说下继承与类修饰符的定义
继承:
继承允许我们定义继承另一个类的所有方法和属性的类。父类是继承的类,也称为基类,子类是从另一个类继承的类,也称为派生类,一个父类可以有多个子类。
类修饰符:
classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。
#父类
class This_Is_Father():
def __init__(self,arg):
print(arg)
#子类
class This_Is_Child(This_Is_Father):
def __init__(self):
print("单案例初始化")
def test1(self):
print("案例1")
def test2(self):
print("案例2")
def __del__(self):
print("单案例后置")
@classmethod
def main(cls,arg) -> "This_Is_Child":
This_Is_Father.__init__(cls,arg)
cls().test1()
cls().test2()
if __name__ == '__main__':
This_Is_Child().main("传递参数")
实践说明:
1.父类统一管理请求入口
2.子类管理测试函数,并通过classmethod修饰后main函数统一分配测试顺序
3.调用子类的mian函数作为外包参数的统一请求入口,继承父类的请求入口并传递参数