」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 我們如何在 Python 單元測試中模擬請求和回應?

我們如何在 Python 單元測試中模擬請求和回應?

發佈於2024-11-23
瀏覽:881

How Can We Mock Requests and Responses in Python Unit Testing?

如何模擬請求和回應

簡介

Python中的單元測試通常涉及模擬中的單元測試通常涉及模擬外部依賴項來模擬現實世界的場景。模擬使我們能夠控制這些依賴項的行為,為我們的測試提供更大的穩定性和可預測性。本文示範如何模擬 Python 的 requests 模組及其回應,以促進有效的單元測試。

第 1 步:模擬請求模組

要模擬 requests模組,請利用來自標準庫的mock模組:

import mock

在測試的設定階段為requests模組建立一個mock物件method:

mockedRequests = mock.Mock()

配置模擬物件在呼叫get() 方法時針對不同的URL回傳特定回應:

mockedRequests.get.side_effect = [
    # First URL: Return 'a response'
    mock.Mock(status_code=200, text='a response'),
    # Second URL: Return 'b response'
    mock.Mock(status_code=200, text='b response'),
    # Third URL: Return 'c response'
    mock.Mock(status_code=200, text='c response')
]

第2步:呼叫視圖

模擬了請求模組後,呼叫視圖中發出請求的函數:

res1 = mockedRequests.get('aurl')
res2 = mockedRequests.get('burl')
res3 = mockedRequests.get('curl')

第3步:驗證回應

由於請求模組被模擬,可以輕鬆檢查回應的預期值:

self.assertEqual(res1.text, 'a response')
self.assertEqual(res2.text, 'b response')
self.assertEqual(res3.text, 'c response')
版本聲明 本文轉載於:1729424657如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3