」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何模擬 Python 的請求模組以實現真實的 API 互動?

如何模擬 Python 的請求模組以實現真實的 API 互動?

發佈於2024-11-19
瀏覽:514

How to Mock Python\'s Requests Module for Realistic API Interactions?

模擬API 互動的模擬Python 請求模組

在我們全面測試與API 互動的Python 程式碼的過程中,有效地模擬requests模組至關重要。以下是使用自訂回應模擬requests.get() 呼叫的逐步方法:

第1 步:模擬Requests 模組

利用Python 的模擬包,我們定義自訂函數(mocked_requests_get)來覆寫requests.get()。此函數根據提供的 URL 傳回模擬回應。在我們的範例中,不同的 URL 將收到特定的回應:

def mocked_requests_get(*args, **kwargs):
    if args[0] == 'aurl':
        return 'a response'
    elif args[0] == 'burl':
        return 'b response'
    elif args[0] == 'curl':
        return 'c response'

第2步:在測試類別中進行模擬

在我們的測試類別中,我們使用unittest.mock.patch將模擬應用到requests模組():

@mock.patch('requests.get', side_effect=mocked_requests_get)

這個裝飾器包裝了我們的測試方法,確保 requests.get 被我們的自訂函數模擬。

第 3 步:呼叫視圖並驗證回應

我們照常呼叫視圖函數並驗證預期回應。我們的模擬函數保證回應與我們先前定義的自訂回應相符:

res1 = requests.get('aurl')
assert res1 == 'a response'
res2 = request.get('burl')
assert res2 == 'b response'
res3 = request.get('curl')
assert res3 == 'c response'

按照以下步驟,您可以在Python測試中有效地模擬requests模組,從而模擬各種API響應並徹底測試程式碼在不同場景下的行為。

版本聲明 本文轉載於:1729424602如有侵犯,請聯繫[email protected]刪除
最新教學 更多>

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

Copyright© 2022 湘ICP备2022001581号-3