在 pytest 中,您可以使用 @pytest.mark.parametrize
装饰器来进行参数化测试
以下是一个示例,展示了如何为不同的测试函数应用不同的标记:
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_increment
和 test_square
。我们为每个测试函数提供了不同的参数化输入,并为 test_square
函数添加了 @pytest.mark.slow
标记。
当您运行 pytest 时,可以使用 -k
选项来仅运行带有特定标记的测试:
pytest -k slow
这将仅运行带有 slow
标记的测试函数。
您还可以使用 -m
选项来运行所有测试,但只显示带有特定标记的测试的输出:
pytest -m slow
这样,您可以为不同的测试函数应用不同的标记,并根据需要运行它们。
领取专属 10元无门槛券
手把手带您无忧上云