通常,我發現自己希望爲訪問HTTP資源的部分代碼編寫單元測試,作爲其正常功能的一部分。你有沒有發現有什麼好的方法來寫這些測試?測試通過HTTP進行通信的單元的好方法
3
A
回答
5
從主代碼中提取訪問HTTP資源的部分。爲該新組件創建一個接口,在您的測試中,模擬接口並返回可以可靠控制的數據。
您可以將HTTP訪問測試爲集成測試。
0
這通常是一個函數,我會模擬出測試......我不喜歡我的測試取決於任何外部的東西......如果它是一個外部資源,我無法控制(例如a第三方網站)。
數據庫是我經常不會嘲笑的爲數不多的外部資源之一......我改用DBUnit。
0
我最近不得不編寫一個訪問wiki的組件,並做了一些基本的文本抓取。我寫的大部分測試都驗證了正確的HTTP響應代碼。就驗證實際資源而言,我會保存離線版本的已知資源,並檢查算法是否收集/處理正確的數據。
0
根據您使用的是哪種語言或框架,啓動本地運行的HTTP服務器可能很簡單,該服務器提供您需要的資源。
相關問題
- 1. IronPython通過C進行單元測試#
- 2. Jmeter - 如何測試通過http和套接字進行通信的網頁
- 3. PhpStorm通過單擊測試方法運行單個測試
- 4. 以普通PHP進行單元測試
- 5. 通過單元測試和單元的Mockito和測試的Mockito
- 6. 單元測試通用方法
- 7. 使用Resharper單元測試運行器通過Gallio進行MSTest
- 8. 通過HTTP/S代理測試App的通信
- 9. 是否有`unittest.TestCase.fail()`通過Python單元測試的相反方法?
- 10. 無法通過測試單元(紅寶石)通過ARGV
- 11. 單元測試通信角2
- 12. Neo4j通過JDBC客戶端進行單元測試
- 13. 僅當調用回調時進行單元測試通過
- 14. VS2010中的單元測試 - 「調試」通過,「運行」失敗
- 15. 方法前提條件是否應通過單元測試?
- 16. 單元測試起訂量不通過方法時,虛擬
- 17. 測試方法失敗(在VS中進行單元測試)
- 18. 通過跳過庫函數進行代碼覆蓋的單元測試
- 19. 如何通過gradle測試任務執行測試方法?
- 20. 改變私有方法的行爲進行單元測試
- 21. 飛鏢單元測試 - 始終通過
- 22. 單元測試已經通過MEF
- 23. Laravel - 輸入不通過單元測試
- 24. Python的單元測試報告通過測試
- 25. python3如何設置在單元測試中通過的測試
- 26. 通過其他測試類的單元測試類
- 27. Ruby方法無法通過Rspec測試
- 28. HTTP通信通過WAN
- 29. 爲什麼請求不通過單元測試發佈,而通過簡單的API調用進行工作?
- 30. 通過C#進行串行通信
另一件事 - 如果您使用的是HTTP庫或框架,它很可能已經在運行。你並不需要測試這個庫。您只需測試發送/接收數據的代碼位。 – jop 2008-09-18 07:42:41