📅  最后修改于: 2020-11-06 05:21:01             🧑  作者: Mango
在本章中,我们将学习如何使用标记对测试进行分组。
Pytest允许我们在测试功能上使用标记。标记用于设置各种功能/属性以测试功能。 Pytest提供了许多内置标记,例如xfail,skip和parametrize。除此之外,用户可以创建自己的标记名称。使用下面给出的语法将标记应用于测试-
@pytest.mark.
要使用标记,我们必须在测试文件中导入pytest模块。我们可以为测试定义自己的标记名,然后使用这些标记名运行测试。
要运行标记的测试,我们可以使用以下语法-
pytest -m -v
-m <标记名>表示要执行的测试的标记名。
使用以下代码更新我们的测试文件test_compare.py和test_square.py 。我们正在定义3个标记-伟大,正方形,其他。
import pytest
@pytest.mark.great
def test_greater():
num = 100
assert num > 100
@pytest.mark.great
def test_greater_equal():
num = 100
assert num >= 100
@pytest.mark.others
def test_less():
num = 100
assert num < 200
import pytest
import math
@pytest.mark.square
def test_sqrt():
num = 25
assert math.sqrt(num) == 5
@pytest.mark.square
def testsquare():
num = 7
assert 7*7 == 40
@pytest.mark.others
def test_equality():
assert 10 == 11
现在要运行标记为其他的测试,请运行以下命令-
pytest -m others -v
请参阅下面的结果。它运行了标记为其他的2个测试。
test_compare.py::test_less PASSED
test_square.py::test_equality FAILED
============================================== FAILURES
==============================================
___________________________________________ test_equality
____________________________________________
@pytest.mark.others
def test_equality():
> assert 10 == 11
E assert 10 == 11
test_square.py:16: AssertionError
========================== 1 failed, 1 passed, 4 deselected in 0.08 seconds
==========================
同样,我们也可以使用其他标记进行测试-很好,比较