我正在爲仍在開發中的第三方服務製作一個基於Python的REST客戶端。問題是要測試/驗證客戶端能夠在各種情況下工作。包括不正確的迴應如何爲不可靠的服務器單元測試REST客戶端?
客戶端使用Requests library進行遠程REST調用(主要是GET和POST)。而對於單元測試,我正在考慮使用HTTPretty模塊來模擬/模擬服務器響應。
問題是如何處理可能的測試用例的數量。考慮以下組成的API;
REQUEST(GET)= http://example.com/new_api?param1=34¶m2=hello
RESPONSE = {"value1":34,"value2":"a string"}
我發現自己需要編寫單元測試用例下列方案 -
- 客戶端發送的參數正確數目
- 客戶端發送錯誤的參數值
- 客戶端缺少參數 個
- 服務器對上述情況的正確反應
- 服務器不發送回所有所需的值
- 服務器混淆值參數(返回一個字符串,而不是一些)
- 服務器發送的,而不是JSON
- 回HTML ...等
所有這些廣泛的測試背後的意圖是幫助確定錯誤可能源於哪裏。即它是我的客戶有問題還是第三方服務器?
有誰知道組織Python測試套件以適應這些情況的好方法嗎?編寫單元測試函數感覺就像它將成爲一個永無止境的任務...... :(