假設ConcreteService是我需要的唯一非測試實現。提取接口(或使其方法/屬性爲虛擬)僅僅是爲了能夠測試依賴於它的對象嗎?否則,我將不得不重新創建依賴關係線,直到每次我想測試依賴它的某個分支時爲止(直到它可以注入模擬)。可以單獨使用接口進行測試嗎?
2
A
回答
2
這非常好。
我甚至會說,即使你沒有進行測試,在早期介紹接口時可能會有很多好處,但它往往是首選。
通過在項目生命週期的早期階段對接口進行編碼,您調用ConcreteService的代碼可以調用接口,然後如果您想要引入服務的新實現,則可以減少所需的更改量使用它。
1
不完全確定設計是什麼。聽起來好像需要對抽象進行測試,然後將其與接口相連接。
相關問題
- 1. 我可以使用機架測試進行部署測試嗎?
- 2. 我可以使用單元測試工具進行集成測試嗎?
- 3. 運行VS單元測試時可以進行調試嗎?
- 4. 我可以調用嵌套函數進行單元測試嗎?
- 5. 使用水豚進行測試:它可以用於測試數據模型嗎?
- 6. 可以使用VB.Net爲硒進行測試嗎?
- 7. 我可以使用CoffeeScript進行AngularJS的量角器測試嗎?
- 8. 我還可以使用iphone 3gs進行測試嗎?
- 9. 我可以使用身份驗證器進行測試嗎?
- 10. 可以使用New Relic進行負載測試嗎?
- 11. 我可以使用robotium進行測試嗎?
- 12. 我可以使用Train和測試數據進行插補嗎?
- 13. 我可以使用SOAPUI進行併發測試嗎?
- 14. 我可以使用VS2010進行自動化MSTest測試嗎?
- 15. 可以使用單個端口進行快速IPC通信嗎?
- 16. 單獨在Symfony中進行PHPUnit測試
- 17. 我們可以使用javascript連接數據庫進行功能測試嗎?
- 18. 我可以使用cxxtest與visual studio 2010 professional進行單元測試嗎?
- 19. 我可以強制使用Visual Studio單元測試框架對屬性進行單元測試嗎?
- 20. 使用獨立JPA測試EJB3/JPA可以嗎?
- 21. Firebase:用戶可以單獨進行分析嗎?
- 22. 單獨使用Datalog可以嗎?
- 23. 單獨使用內存數據庫進行測試 - 如何?
- 24. MSpec測試可以改進嗎?
- 25. 除了嘲笑測試之外,還可以對接口進行編碼而無需額外使用接口?
- 26. Vue.js我可以在e2e測試中導入模塊嗎?進口
- 27. 我可以用我的WatiN測試來進行壓力測試嗎?
- 28. junit測試可以並行運行嗎?
- 29. 可以並行運行Junit測試嗎?
- 30. nspec可以運行並行測試嗎?