1.安装mock
1)pip install mock
2)或者下载离线安装包
2.mock散装使用
import unittest from mock import mock from day_20200208_mooc.interface_request_class_5 import RunMain class TestMethod(unittest.TestCase): def setUp(self): # 避免每个用例都去执行一次实例化 self.run = RunMain() def test_01(self): url = "" data = "" # 把data作为mock.Mock的返回值 mock_data = mock.Mock(return_value=data) # 把mock_data作为self.run.run_main方法的返回值 self.run.run_main = mock_data res = self.run.run_main(url, "method", data) self.assertEqual(res["errorCode"], "期望值 ", "这是期望值和预期值不相等时给出的提示语") if __name__ == "__main__": suite = unittest.TestSuite() # 添加测试用例 suite.addTest(TestMethod("test_01")) runner = unittest.TextTestRunner() runner.run(suite)
3.封装mock进行调用
# 封装mock import mock def mock_test(mock_method, url, method, request_data, response_data): """ :param mock_method: 封装的请求函数 :param url: 请求URL :param method: 请求的方法 get post :param request_data: 请求的data :param response_data: 作为mock的返回数据 :return: """ mock_method = mock.Mock(return_value=response_data) res = mock_method(url, method, request_data) return res
import unittest from mock import mock from day_20200208_mooc.interface_request_class_5 import RunMain from day_20200208_mooc.mock_demo_9 import mock_test class TestMethod(unittest.TestCase): def setUp(self): # 避免每个用例都去执行一次实例化 self.run = RunMain() def test_01(self): url = "" data = "" # 封装后一行代码搞定 res = mock_test(self.run.run_main, url, "method", request_data=data, response_data=data) self.assertEqual(res["errorCode"], "期望值 ", "这是期望值和预期值不相等时给出的提示语")