作用
使用
装饰器:@pytest.fixture()
import pytest
@pytest.fixture()
def fixture1():
print("\nfixture function 1")
@pytest.fixture()
def fixture2():
print("\nfixture function 2")
@pytest.mark.parametrize("a, b", [(1, 1)], ids=['fixture'])
def test_case_fixture(fixture1, fixture2, a, b):
print(f"a:{a} b:{b}")
assert True
fixture声明
fixture(
fixture_function: Optional[_FixtureFunction] = None,
*,
scope: "Union[_Scope, Callable[[str, Config], _Scope]]" = "function",
params: Optional[Iterable[object]] = None,
autouse: bool = False,
ids: Optional[
Union[
Iterable[Union[None, str, float, int, bool]],
Callable[[Any], Optional[object]],
]
] = None,
name: Optional[str] = None,
)
参数fixture_function
还没学 ( ̄▽ ̄)*
参数scope
作用:设置fixture生效范围
值列表:
参数params
作用:设置fixture函数参数
值获取:函数添加入参request,函数体使用request.param依次获取参数
注:
import pytest
@pytest.fixture(params=["a", "b", "c"])
def fixture_params(request):
print("fixture_params print: " + request.param)
def test_case(fixture_params):
assert True
fixture params + mark.parametrize:
import pytest
@pytest.fixture(params=["a", "b"])
def fixture_params(request):
print("\nfixture_params print: " + request.param)
@pytest.mark.parametrize('num', [1, 2])
def test_case(fixture_params, num):
print("test_case print: " + str(num))
assert True
autouse
作用:设置fixture是否自动运行
值列表:
import pytest
@pytest.fixture(autouse=True)
def fixture_autouse():
print("\nsetup: fixture_autouse")
yield
print("\nteardown: fixture_autouse")
def test_case():
assert True
ids
作用:用例命名
注:
import pytest
@pytest.fixture(params=["a"], ids=["fixture_a"])
def fixture_params_ids(request):
print("\nfixture_params_ids print: " + request.param)
def test_case(fixture_params_ids):
assert True
fixture ids + mark.parametrize ids:
import pytest
@pytest.fixture(params=["a"], ids=["fixture_a"])
def fixture_params_ids(request):
print("\nfixture_params_ids print: " + request.param)
@pytest.mark.parametrize("num", [1], ids=["case_1"])
def test_case(fixture_params_ids, num):
print("\ntest_case print: " + str(num))
assert True
return
import pytest
@pytest.fixture()
def fixture_return():
return "fixture_return return"
def test_case(fixture_return):
print("\ntest_case print: " + fixture_return)
assert True
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。