pytest学习5-mark用例分类

使用Mark标记测试用例

通过使用pytest.mark你可以轻松地在测试用例上设置元数据。例如, 一些常用的内置标记:
    skip - 始终跳过该测试用例
    skipif - 遇到特定情况跳过该测试用例
    xfail - 遇到特定情况,产生一个“期望失败”输出
    parametrize - 在同一个测试用例上运行多次调用(译者注: 参数化数据驱动)
创建自定义标记或将标记应用于整个测试类或模块很容易。 文档中包含有关标记的示例,详情可参阅[使用自定义标记。
注意:
标记只对测试用例有效,对fixtures方法无效。

使用mark功能自定义标记功能

 在日常测试过程中,有很多测试用例,但只想执行其中的一部分用例,可以使用@pytest.mark.自定义标签功能满足
 例如:
        如下代码中,设计了5个用例,但只需要执行第一个和第四个用例,可以给第一个和第四个用例加上同样的标签webtest,然后执行pytest -m webtest命令。具体如下:
        @pytest.mark.webtest
        def test_mark_1():
            print("这是第一个用例")
        @pytest.mark.me
        def test_mark_2():
            print("这是第2个用例")
        @pytest.mark.me
        def test_mark_3():
             print("这是第4个用例")
        @pytest.mark.webtest
        def test_mark_4():
            print("这是第4个用例")    
        @pytest.mark.me
        def test_mark_5():
             print("这是第5个用例")

总结

我们可以使用@pytest.mark装饰器来给用例分类
运行的时候使用-m,m是mark的意思,来运行某个或某些分类
-m参数支持python表达式
用or实现多选的效果,例如pytest -m "webtest or me"
用not实现反选的效果,例如pytest -m "not me"
posted @ 2020-01-08 17:39  测试爬虫  阅读(325)  评论(0编辑  收藏  举报