参考 https://www.imooc.com/article/34114
在Python 3.3以前的版本中,需要另外安装mock模块,可以使用pip命令来安装:
$ sudo pip install mock
然后在代码中就可以直接import进来:
import mock
从Python 3.3开始,mock模块已经被合并到标准库中,被命名为unittest.mock,可以直接import进来使用:
from unittest import mock
unittest的简单使用
https://blog.csdn.net/sunt2018/article/details/88812989
我们平时使用的测试代码
#!/usr/bin/env python
# client.py
# -*- coding: utf-8 -*-
import requests
def send_request(url):
r = requests.get(url)
return r.status_code
def visit_ustack():
return send_request('http://www.ustack.com')
使用mock替换client.py中的方法 ,并模拟一些返回值,达到不真正请求服务器也可以进行编写测试
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
import mock
import client
class TestClient(unittest.TestCase):
def test_success_request(self):
success_send = mock.Mock(return_value='200')
client.send_request = success_send
self.assertEqual(client.visit_ustack(), '200')
def test_fail_request(self):
fail_send = mock.Mock(return_value='404')
client.send_request = fail_send
self.assertEqual(client.visit_ustack(), '404')
mock有什么用?