标签:情况 class 完成后 级别 auto set code 不同 根目录
固件Fixture是一些函数,pytest 会在执行测试函数之前(或之后)加载运行它们。主要是为一些单独测试用例需要预先设置与清理的情况下使用的。不同于setup和teardown,测试固件是自定义函数,能指定某些用例运行此固件的自定义函数
@pytest.fixture() def text(): print("开始执行") #使用pytest.fixture()装饰一个函数成为fixture def test_one(): print("执行第一个用例") def test_two(text): #用例传入fixture函数名,以此来确认执行 print("执行第二个用例")
第一个参数不会运行先运行固件的自定义函数
@pytest.fixture() def text(): print("开始执行") yield #yield 之后的代码属于后处理,将在测试完成后执行 print("执行完毕") def test_one(): print("执行第一个用例") def test_two(text): print("执行第二个用例")
import pytest @pytest.fixture(scope="session") def start(): print("\n打开首页")
python会自动加载当前模块的conftest.py文件里的自定义测试固件,一般可以在根目录里定义更通用的自定义测试固件
注意注意conftest.py文件名是系统规定的名字
自定义测试固件可以使用autouse参数实现自动化,而不用传入函数。可以使用params实现参数化
./conftest.py @pytest.fixture(scope="module",params=[‘test1‘,‘test2‘],autouse=True) def text(request): print("开始执行") yield request.param print("执行完毕") ./test_sample.py def test_one(): #此用例也会运行 print("执行第一个用例") print(text) def test_two(text): print("执行第二个用例")
标签:情况 class 完成后 级别 auto set code 不同 根目录
原文地址:https://www.cnblogs.com/seyOrd/p/12681814.html