模擬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響應並徹底測試程式碼在不同場景下的行為。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3