pytest提供了以下 4 种钩子方法:
方法 | 说明 |
---|---|
setup | 在每一个测试用例执行之前,会执行此方法。一般用于每个用例相同的初始化工作。 |
teardown | 在每一个测试用例执行之后,会执行此方法。一般用于每个用例相同的收尾工作。 |
setup_class | 在所有测试用例执行之前,会执行此方法。一般用于环境的初始化工作,比如:建立数据库连接 |
teardown_class | 在所有测试用例执行之后,会执行此方法。一般用于环境的收尾工作,比如:关闭数据库连接 |
代码演示如下:
class TestPractice: # 在所有用例执行之前执行,只会执行一次 def setup_class(self): print(" 执行环境初始化工作,比如:创建数据库的连接,创建接口的请求对象等") # 在所有用例执行之后执行,只会执行一次 def teardown_class(self): print("执行环境资源回收操作,比如:关闭数据库连接操作,销毁接口的请求对象等") # 在每个用例执行之前被调用 def setup(self): print(" 用例前置操作,比如:打开浏览器") def teardown(self): print(" 用例后置操作,比如:关闭浏览器") def test_001(self): print("执行用例001") def test_002(self): print("执行用例002")
执行结果如下: