博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
10-Mock模拟接口返回数据
阅读量:6903 次
发布时间:2019-06-27

本文共 2101 字,大约阅读时间需要 7 分钟。

1、安装mock

方法一:pip安装

命令行直接输入:pip install mock

方法二:官网下载mock安装包安装

下载安装包后,解压,命令行进入解压目录,执行python setup.py install

 

2mock模拟返回值

1)不封装,mock模拟返回值

# encoding:utf-8from mock import mockimport unittestfrom base.requestsDemo import SendMain# 创建测试类,继承unittest.TestCaseclass MockTest(unittest.TestCase):    def setUp(self):        self.run = SendMain()    def test_1(self):        # 定义请求的post数据并返回        postData = {
'username': 'wangling', 'password': '123456'} # 定义请求的post url postUrl = 'http://127.0.0.1:8000/postDataHandle/' # 定义请求的响应结果 respnse_data = postData # 响应数据 mockData = mock.Mock(return_value=respnse_data) # mockData是send_main方法的模拟值 self.run.send_main = mockData res = self.run.send_main(postUrl, 'POST', postData) print res def test_2(self): getData = {
'username': 'xiaohua', 'mobile': '13066990001', 'data': 'haha'} getUrl = 'http://127.0.0.1:8000/getDataHandle' mockData = mock.Mock(return_value=getData) self.run.send_main = mockData res = self.run.send_main(getUrl, 'GET', getData) print resif __name__ == '__main__': unittest.main()

2)封装,mock模拟返回值

    可以将mock模拟返回结果封装一下,使代码重用性更高,具体如下:

# coding:utf-8from mock import mock# 模拟mock封装def mock_test(mock_method,url, method,response_data,request_data=None):    mock_method = mock.Mock(return_value=response_data)    res = mock_method(url, method, request_data)    return res

    调用如下:

# encoding:utf-8import unittestfrom base.requestsDemo import SendMainfrom base.mockdemoRe import mock_test# 创建测试类,继承unittest.TestCaseclass MockTest(unittest.TestCase):    def setUp(self):        self.run = SendMain()    def test_2(self):        getData = {
'username': 'xiaohua', 'mobile': '13066990001', 'data': 'haha'} getUrl = 'http://127.0.0.1:8000/getDataHandle' respnseDate = getData mock_test(self.run.send_main,getUrl,'GET',respnseDate,getData) res = self.run.send_main(getUrl, 'GET', getData) print resif __name__ == '__main__': unittest.main()

 

转载于:https://www.cnblogs.com/santiandayu/p/10016486.html

你可能感兴趣的文章
我的友情链接
查看>>
且谈布局适配和日志框架
查看>>
在论坛中出现的比较难的sql问题:15(行转列2)
查看>>
springboot中的5种通知小例子
查看>>
mysql数据通过jdbc操作作为Spark数据源案例
查看>>
Sersync实现触发式文件同步
查看>>
shell练习题
查看>>
大型网站压力测试及优化方案
查看>>
云计算的特性有这4点
查看>>
IT兄弟连 JavaWeb教程 jQuery对AJAX的支持
查看>>
Windows SqlServer 2008服务1433端口不监听问题排查
查看>>
oracle 11g rac安装之oracle database报错解决
查看>>
linux固定用户访问ip限制
查看>>
华为SSH配置
查看>>
比较好用的dns列表
查看>>
linux下mysql的root密码忘记解决方法
查看>>
多机调度问题-贪心算法
查看>>
sql_trace的使用
查看>>
我的友情链接
查看>>
WordPress 禁用自动保存、文章多个版本
查看>>