模擬API 互動的模擬Python 請求模組
為了全面測試與API 互動的Python 程式碼,有效地模擬模組至關重要。以下是使用自訂回應模擬requests.get() 呼叫的逐步方法:
第1 步:模擬請求模組
利用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測試中有效地模擬請求模組,從而允許您模擬各種API回應並徹底測試程式碼在不同場景下的行為。
以上是如何模擬 Python 的請求模組以實現真實的 API 互動?的詳細內容。更多資訊請關注PHP中文網其他相關文章!