使用mock解決測試中依賴第三方接口的問題


在進行測試過程中,可能有一些數據需要依賴第三方的接口,或者返回數據種類較多難以實際返回,這時就需要使用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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM