在进行测试过程中,可能有一些数据需要依赖第三方的接口,或者返回数据种类较多难以实际返回,这时就需要使用mock模拟接口返回

写一个获取接口返回结构的方法

shot_tweeter.py

import requests
class users:
    def url_list(self):
        res = requests.get("http://localhost:2020")
        return res

在测试方法中调用该方法,并使用mock设置返回值

from unittest.mock import patch
from shot_tweeter import users
import unittest
class Test_sss(unittest.TestCase):
    @patch("shot_tweeter.users.url_list")#方法名称
    def test_user(self,mock_list_user):
        mock_list_user.return_value.status_code = 200#设定返回值
        mock_list_user.return_value.json.return_value = {"data":["ok"]}#设定返回值
        u = users()
        resp = u.url_list()
        assert resp.status_code ==200

if __name__ == '__main__':
    unittest.main()

 

posted on 2019-12-03 16:00  阿宅gogo  阅读(3037)  评论(0编辑  收藏  举报