• 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对象库官方文档

  • 相关阅读:
    综合日语第一册第十课
    综合日语第一册第九课
    荒木毬菜 小情歌日文版
    c# 匿名函数
    字典取KEY,占位符,延迟刷新
    flash GC
    自定义滤镜 ColorMatrixFilter
    sql join
    NSLog Release
    Windows 运行中的命令
  • 原文地址:https://www.cnblogs.com/desireyang/p/12095366.html
Copyright © 2020-2023  润新知