conftest先执行->setup_module->setup_class->setup
如果父类basecase、子类case都有setup,那不会执行父类的setup,如果需要在子类中执行父类的setup,需要显示指明super().setup(self)
如果子类有setup_class,父类有setup,那么执行顺序为子类的setup_class执行完后,每一个case执行前先调用父类的setup
class Test_user(baseTestcase):
def setup_class(self):
print("\nTest_token1--setup_class")
# super().setup_class(self)
print("\nTest_token2--setup_class")
self.testapi = userApi()
class baseTestcase:
def setup_class(self):
print("\nbaseTestcase--setup_class\n")
self.basedir = os.path.abspath(os.path.dirname(os.getcwd()) + os.path.sep + "..")
self.jsonUtil = jsonUtil()
pass
在执行Test_user的case时,执行结果如下
Test_token1--setup_class
Test_token2--setup_class
可以看到baseTestcase不会被调用到
如果父类子类均有setup_class的情况下,需要使用
super().setup_class(self)
显示指明要调用父类的setup_class