pytest参数化

pytest参数化有三种方式:

  1. @pytest.fixture可以进行参数化
  2. @pytest.mark.parametrize 允许在测试函数或类上定义多组参数和 fixture。
  3. pytest_generate_tests钩子函数可以定义自定义的参数化方案或扩展。

@pytest.fixture

pytest.fixture有个params参数,可以进行参数化

import pytest


@pytest.fixture(params=[1, 2, 3])
#@pytest.fixture(params=[1, 2, 3], ids=['id1', 'id2', 'id3']) 可以使用ids参数为每个生成的测试用例指定一个自定义的 ID
def example_fixture(request):
    return request.param * 2


def test_example(example_fixture):
    assert example_fixture > 0

@pytest.mark.parametrize

@pytest.mark.parametrize("a, b", [(1, 1), (2, 2), (3, 3)])
def test_qe(a, b):
    assert a == b

如果想多个参数化参数的所有组合,可以使用多个parametrize装饰器:

@pytest.mark.p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值