zoukankan      html  css  js  c++  java
  • unittest测试框架之Mock接口联调

    unittest测试框架之Mock接口联调

    unittest.mock 是一个用于测试的Python库。它允许使用mock对象替换受测试系统的部分,并对它们如何已经被使用进行断言。

    Mock使用前提

    在做接口测试时,开发还未完成接口的实现,自动化接口测试代码就没办法完成,这个时候就需要用Mock对象库来模拟接口响应结果,等到开发完成接口功能,再把Mock模拟响应结果的代码删除掉,整个自动化接口测试项目就完成了。

    Mock简单的使用

    导包(mock对象库不需要单独进行安装,unittest库中已经集成了mock对象库)
    from unittest.mock import Mock
    

    模拟一个简单的发送请求响应

    准备一个发送请求的函数
    def sendUrl():
        # 下面的url为伪接口,访问不通
        url = "http://127.0.0.1/login"
        return requests.get(url=url)
    
    直接调用发送请求函数,打印响应结果
    response = sendUrl()
    print(response)
    

    -->> 结果如下(因为url地址是个伪地址,访问不通,所以会报错)

    使用Mock模拟响应结果
    • return_value:设置返回的结果
    • sendUrl:创建的Mock对象,名称要与下面调用的函数名一致
    sendUrl = Mock(return_value={"code": 0, "msg": "登陆成功"})
    response = sendUrl()
    print(response)
    

    ->> 结果如下:响应结果就是Mock对象设置的返回结果

    使用Mock模拟引发异常
    • side_effect:引发异常
    • AssertionError:异常类型
    sendUrl = Mock(side_effect=AssertionError('地址错误'))
    response = sendUrl()
    

    -->> 结果如下:成功的引发异常

    * mock其他用法请参考-->>unittest.mock --- mock对象库官方文档

  • 相关阅读:
    IDEA激活及使用丶
    内网渗透-windows认证
    应急响应必备技能
    云计算期末考试---
    常见GetShell
    SQL Sever提权
    Socks协议以及代理转发工具分析
    最近两场HVV总结
    ATK&CK红队评估实战靶场 (一)的搭建和模拟攻击过程全过程
    应急响应之勒索病毒
  • 原文地址:https://www.cnblogs.com/desireyang/p/12095366.html
Copyright © 2011-2022 走看看