pytest常用的基本断言方法

本文介绍了如何在Pytest中使用pytest.xfail()和pytest.mark.xfail进行测试用例标记,包括跳过未完成的功能、预期失败的场景以及如何只执行部分用例。通过实例演示了如何设置测试失败标记并展示其执行结果。
摘要由CSDN通过智能技术生成

1、Pytest -断言、跳过及运行

在这里插入图片描述

 在这里插入图片描述

 2、mark中的skip(跳过)

在这里插入图片描述

3、mark中的xfail(失败)

在这里插入图片描述 

 pytest.xfail()
咱们已经掌握了若是跳过执行测试用例,其中有一种方法是在测试函数中用pytest.skip()方法。咱们如今要学的pytest.xfail()和pytest.skip()有些类似,只不过他的含义是:将该用例标记成xfail失败,而且该用例中的后续代码不会执行,在测试用例中调用pytes.xfail()方法,能够选择传入reason参数表示缘由

#test_Pytest.py文件
#coding=utf-8

import pytest

class Test_Pytest():

        def test_one(self,):
                print("----start------")
                pytest.xfail(reason='该功能还没有完成')
                print("test_one方法执行" )
                assert 1==1

        def test_two(self):
                print("test_two方法执行" )
                assert "o" in "love"

        def test_three(self):
                print("test_three方法执行" )
                assert 3-2==1

if __name__=="__main__":
    pytest.main(['-s','-r','test_Pytest.py','test_Pytest.py'])

运行结果以下图:咱们能够看到该用例中pytest.xfail()方法以前的代码运行了,以后的再也不运行;结果中有一天用例被标记为xfail

在这里插入图片描述

这个方法是咱们直接将用例标记为失败,那什么状况咱们会这么作呢?功能未完成、已知有问题。除此以外,就是用例的执行须要前置条件或操做,若是前置条件或操做失败,那么咱们就能够直接将该用例设为失败,也就是xfail。api

@pytest.mark.xfail
除了上面学习的pytest.xfail(),xfail还有一种使用方法。就是@pytest.mark.xfail标签,他的含义是指望测试用例是失败的,可是不会影响测试用例的的执行。若是测试用例执行失败的则结果是xfail(不会额外显示出错误信息);若是测试用例执行成功的则结果是xpass。在测试用例上加上@pytest.mark.xfail标签。

#test_Pytest.py文件
#coding=utf-8

import pytest

class Test_Pytest():

        @pytest.mark.xfail
        def test_one(self):
                print("test_one方法执行" )
                assert 1==2

        def test_two(self):
                print("test_two方法执行" )
                assert "o" in "love"

        def test_three(self):
                print("test_three方法执行" )
                assert 3-2==1

if __name__=="__main__":
    pytest.main(['-s','test_Pytest.py']) 

运行结果以下图:能够看到咱们标记的用例确实运行了;由于断言失败因此结果是xfailed,也没有像正常同样显示出错误用例及具体信息。

如果把断言改为正确的,再运行一次,结果以下图:尽管咱们的用例正常运行经过,可是仍被标记为xpassed,而不是passed

在这里插入图片描述

5、使用自定义标记mark只执行部分用例

在这里插入图片描述 

参考:Pytest和Allure测试框架-超详细版+实战 - 尚码园 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值