标记用例

前言:

在实际测试的时候,可能会遇到这样的场景:对于某一类的测试用例需要被执行或不执行,那么如何对这一类的测试用例进行特殊的执行呢?

pytest提供了对用例进行标识的功能。

 

一、如何进行标记

@pytest.mark.xxx,其中xxx是自己定义的名称

import pytest


class TestMark:
    @pytest.mark.abc
    def test_1(self):
        print("this is test_1")

    @pytest.mark.xyz
    def test_2(self):
        print("this is test_2")

    def test_3(self):
        print("this is test_3")

    @pytest.mark.abc
    def test_4(self):
        print("this is test_4p")

上面的示例中,有test_1、test_4都被标识成了abc,test_2被标识为了xyz,test_3未被标识。

执行命令:pytest -s -m abc

执行结果如下:

 

 

 

 可以看到,只有被标识成为abc的才被执行了。其中未被标记的显示 2 deselected

 

二、执行

在命令行中添加 -m 选项,后面加上被标记的名称,如 pytest -s -m abc,则执行时只会执行被标记为abc的用例。

若需要执行某类被标记用例之外的所有用例,可以使用 -m not xxx ,如pytest -s -m not abc,则会执行除abc之外的所有用例。

若要执行几类用例,则可以使用 -m xxx or xxx,如pytest -s -m abc or xyz。

 

posted @ 2022-03-10 17:21  Target_L  阅读(110)  评论(0)    收藏  举报