mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。
一、创建服务的方式——flask、django
这个比较好理解,因为python中flask、django大家都接触过
二、创建服务的方式——
三、unittest中的mock
from unittest.mock import patch from unittest import mock import unittest class C: def a(self): return 666 def b(self): return 666 class TestXXX(unittest.TestCase): """单元测试的2种mock方式 mock不能凭空创建属性a,只能应用于对象逻辑还没完成但是需要这个对象的返回信息 感觉意义不是很大""" @patch.object(C, ‘b‘) @patch.object(C, ‘a‘) def test_xxx1(self, a, b): # 注意测试方法中的参数和装饰器的参数对应关系 a.return_value = 20 b.return_value = 30 c = C() print("test_xxx1", c.a(), c.b()) def test_xxx2(self): c = C() c.a = mock.Mock(return_value=20) print("test_xxx2", c.a()) if __name__ == ‘__main__‘: unittest.main()
原文:https://www.cnblogs.com/yinwenbin/p/14773632.html