pytest文档77 - parametrize 参数化跳过部分用例(pytest.param)
Posted 上海-悠悠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest文档77 - parametrize 参数化跳过部分用例(pytest.param)相关的知识,希望对你有一定的参考价值。
前言
pytest 参数化的时候,希望能跳过部分测试用例,可以用 pytest.param 来实现。
parametrize 参数化示例
parametrize 参数化
import pytest
@pytest.mark.parametrize('input1, input2, expected', [
["a", "b", "ab"],
["1", "2", "12"],
[2, 3, 5],
[1, 3, 4],
])
def test_foo(input1, input2, expected):
assert input1 + input2 == expected
运行结果
collected 4 items
..\\..\\..\\..\\..\\demo\\demo\\aaa\\test_x.py ....
total times: 0.13 seconds
================ 4 passed in 0.14s ==================
pytest.param 跳过用例
如果想跳过其中部分用例,可以用 pytest.param()来实现,给参数化中单个用例加 marks 标记 skip。
import pytest
@pytest.mark.parametrize('input1, input2, expected', [
["a", "b", "ab"],
["1", "2", "12"],
pytest.param(2, 3, 5, marks=pytest.mark.skip),
[1, 3, 4],
])
def test_foo(input1, input2, expected):
assert input1 + input2 == expected
运行结果
collected 4 items
..\\..\\..\\..\\..\\demo\\demo\\aaa\\test_x.py ..s
Test ignored..
total times: 0.14 seconds
============== 3 passed, 1 skipped in 0.14s ==============
运行结果可以看出1个 skipped 了。
以上是关于pytest文档77 - parametrize 参数化跳过部分用例(pytest.param)的主要内容,如果未能解决你的问题,请参考以下文章
pytest文档74-参数化parametrize加marks标记(pytest.param)
pytest文档67-pytest.mark.parametrize 中使用 fixture
pytest文档68-pytest-lazy-fixture 插件解决 pytest.mark.parametrize 中使用 fixture 问题