【接口自动化】mock

mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。

1.在测试接口时使用mock

 1    #from unittest import mock
 2      def test_create_zone_success(self):
 3         u"""成功添加区域"""
 4         data = {"Data": [{"zoneNumber": 11, "zoneName": "11"}]}
 5         self.zones_num = [11]
 6         self.wdms.create_zone = mock.Mock(return_value={"zoneNumber": 11, "zoneName": "11"})  #对 create zone方法进行mock,接口返回值为return_value
 7         res = self.wdms.create_zone(data=data)
 8         print(res)
 9         # self.assertEqual(res['message'], 'Succeed')
10         # self.assertEqual(res['code'], 200)

以上代码运行后打印出res,res为{"zoneNumber": 11, "zoneName": "11"}

2.封装mock

1 from unittest import mock
2 import json
3 def mock_test(method, request_data, response_data):
4     request_data = json.dumps(request_data)
5     method = mock.Mock(return_value=response_data)
6     res = method(request_data)
7     return res

调用mock_test

1     def test_create_zone_success(self):
2         u"""成功添加区域"""
3         data = {"Data": [{"zoneNumber": 11, "zoneName": "11"}]}
4         self.zones_num = [11]
5         res = mock_test(self.wdms.create_zone, data, 'test mock')  #调用mock方法
6         print(res)

 

posted @ 2019-02-21 21:37  dhs94  阅读(571)  评论(0编辑  收藏  举报