setup/teardowm,setup_class/teardowm_class
setup 在每个用例之前执行一次
teardown 在每个用例之后执行一次
setup_class这个在所有用例之前只执行一次
(在每个类执行前的初始化工作,比如创建日志对象,创建数据库的连接,创建接口的请求对象)
teardowm_class 这个在所有用例之后只执行一次
(在每个类执行后的初始化工作,比如销毁日志对象,销毁数据库的连接,销毁接口的请求对象)
这两种方法可以混合使用,例如setup搭配teardown_class
import pytest
class TestLogin():
age=18
def setup(self):
print("\n这是执行前的用例")
def test_06_qianghong2(self):
print("我是杨强弘六号")
def test_08_qiangong(self):
print("这是随便执行的")
def test_07_qianghong3(self):
print("我是啊啊啊啊")
def teardown(self):
print("\n这是执行后的用例")
对比unittest
不同点
1、setup和teardown
unittest : setUp(self) tearDown(self)
pytest : setup(self) teardown(self)
unittest需要大小写 pytest不需要
2、setup_class 和 teardown_class
unittest @classmethod @classmethod
def setUpClass(cls): def tearDownClass(cls):
pytest def setup_class(self) def teardown_class(self)
unittest需要大小写,并且需要通过classmethod修饰