mock模拟,skip,skipif,mark分类

1:mock

mock使用场景:被测试的接口需要调用第三方接口,而第三方接口还没有调试通过,此时可以使用mock模拟接口的返回值,来调试自己的代码,第三方接口调通后,再真实调用第三方接口

# 第三方未通的支付接口
def pay(data):
    """
    支付接口请求参数:
    param data:{'id':'','money':,'type':''}
        id:字符串,支付编号
        money:浮点数,支付金额
        type:支付类型
    return:{'status':1,'msg':'支付成功'} {'status':0,'msg':'支付失败'}
    """
    r = requests.post('', data=data)
    return r.json()

#使用mock模拟
def test_pay_success():
    # 请求参数
    cs = {"id": "D202208040001", "money": 45.8, "type": "支付"}
    # 使用mock.MOCK(return_value={}) 模拟第三方接口的返回值
    pay = mock.Mock(return_value={'status': 0, 'msg': '支付成功'})
    # 调用第三方接口
    res = pay(cs)
    #断言操作
    assert res['status'] == 1
    assert res['msg'] == '支付成功'

2:skip,skipif

skip/skipif使用场景:

  • skip:用例对应的功能有缺陷,使用skip跳过该用例的执行,等缺陷解决后再执行该用例
  • skipif:条件性跳过,产品存在多个版本,而自动化脚本只有一套,按照版本的不同,跳过用例
#版本号
version='V1R1'

@pytest.mark.skip(reason='缺陷id为:XXXX')
def test_01():
    print("用例1")

#V1R2支持  V1R1不支持
@pytest.mark.skipif(version='V1R1',reason='V1R1版本不支持该功能')
def test_02():
    print("用例2")

3:mark

mark进行测试分类:自动化测试包含,冒烟测试,接口测试,界面测试,性能测试,这些自动化脚本存在重合的用例,通常一个项目中会把所有测试的脚本在放一起管理,通过自定义mark标记,定义在用例或者类上

在pytest.ini文件中配置各种标记:

[pytest]
addopts= -m="api  or  web"
; -m=参数来配置执行那些标记的用例 可以使用 and or not 
; -m='api'
; -m='api and web'
; -m='api or web'
; -m='not api'
; 通过markers配置不同的标记 标记: 解释
markers= smoke: smoke test case
         web: web test case
         api: api test case
@pytest.mark.web #界面测试
def test_01():
    print("用例1")

@pytest.mark.api  #接口测试
@pytest.mark.smoke #冒烟测试
def test_02():
    print("用例2")

@pytest.mark.api #接口测试
class Test001():
    def test_01(self):
        print("用例1")

    def test_02(self):
        print("用例2")

    @pytest.mark.web #界面测试
    def test_03(self):
        print("用例3")

    def test_04(self ):
        print("用例4")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值