首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pytest中的参数化测试,对不同的测试函数有不同的标记

在 pytest 中,您可以使用 @pytest.mark.parametrize 装饰器来进行参数化测试

以下是一个示例,展示了如何为不同的测试函数应用不同的标记:

代码语言:javascript
复制
import pytest

@pytest.mark.parametrize("num, expected", [
    (1, 2),
    (2, 3),
])
def test_increment(num, expected):
    assert num + 1 == expected

@pytest.mark.parametrize("num, expected", [
    (2, 4),
    (3, 9),
])
@pytest.mark.slow
def test_square(num, expected):
    assert num * num == expected

在这个示例中,我们定义了两个测试函数:test_incrementtest_square。我们为每个测试函数提供了不同的参数化输入,并为 test_square 函数添加了 @pytest.mark.slow 标记。

当您运行 pytest 时,可以使用 -k 选项来仅运行带有特定标记的测试:

代码语言:javascript
复制
pytest -k slow

这将仅运行带有 slow 标记的测试函数。

您还可以使用 -m 选项来运行所有测试,但只显示带有特定标记的测试的输出:

代码语言:javascript
复制
pytest -m slow

这样,您可以为不同的测试函数应用不同的标记,并根据需要运行它们。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券