函数级别方法:
setup:每个用例执行之前都会执行一次
teardown:每个用例执行之后都会执行一次
import pytest
class TestFunc:
def setup(self): # 每个测试函数运行前执行一次
print("---setup---")
def test_a(self):
print("test_a")
def test_b(self):
print("test_b")
def teardown(self): # 每个测试函数运行后执行一次
print("---tesrdown---")
if __name__ == "__main__":
pytest.main(["-s","pytest_func.py"])
# 结果
"""
pytest_func.py ---setup---
test_a
.---tesrdown---
---setup---
test_b
.---tesrdown---
"""
类级别方法:
setup_class: 每个测试类运行之前执行一次(不关心一个类里面有多少个测试用例)
teardown_class:每个测试类运行之后执行一次(不关心一个类里面有多少个测试用例)
import pytest
class TestClass:
def setup_class(self): # 仅类开始之前执行一次
print("---setup_class---")
def teardown_class(self): # 仅类结束之后执行一次
print("---tesrdown_class---")
def test_a(self):
print("test_a")
def test_b(self):
print("test_b")
if __name__ == "__main__":
pytest.main(["-s","pytest_class.py"])
# 结果
"""
pytest_class.py ---setup_class---
test_a
.test_b
.---tesrdown_class---
"""