我想用make db連接測試類。我想測試的類作爲構造函數Connection
類中的參數接受。我想將模擬對象傳遞給構造函數。你能告訴我一個很好的框架與示例如何模擬數據庫連接?Java模擬數據庫連接
回答
您可以使用MockRunner,它支持JDBC。像Mockito這樣的通用模擬框架也可以工作,但JDBC是一組相互返回的接口,因此手工模擬將很困難。見自己:How to stub/mock JDBC ResultSet to work both with Java 5 and 6?
然而嘲諷JDBC是如此的脆弱和詳細(無論你使用何種工具),我會建議任何抽象有些單薄DAO層內的JDBC訪問(見@duffymo應答)或到 - 內存數據庫如H2。
參見:
http://mockrunner.github.io /在主持更新版本pvi的網站上說: –
你可以試試easymock。這是很容易使用,我認爲。 你可以找到一個參考教程。 easymock
我不會創建一個模擬連接 - 它證明什麼,在我看來。
我可以看到爲什麼在完全通過實時連接測試之後,你會嘲笑版本庫/ DAO本身。您將模擬存儲庫/ DAO提供給服務或其他客戶端,因爲您已經對其進行了測試 - 無需證明它在您執行集成測試之前就可以運行。
如果您打算在許多測試用例上重複使用該模擬,您還可以考慮實現自己的連接實現並在任何地方重用該實現。
您可以使用一個模擬框架,如上述答覆中提到的那些(我個人使用了EasyMock) OR創建你自己的模仿對象:
class FakeConnection extends Connection{
// Overrive all method behavious you want to fake.
}
侍僧框架是這樣的目的有用 - >https://github.com/cchantep/acolyte。
有了這個庫,你可以創建一個你爲其提供處理程序的連接實例。實現處理程序,您可以「調度」查詢或更新:生成結果集或更新計數(或警告)。
- 1. 數據庫連接超時模擬
- 2. 在jTDS中模擬數據庫連接?
- 3. Java數據庫連接
- 4. Java數據庫連接
- 5. Java和數據庫連接
- 6. Java couchdb4j數據庫連接
- 7. java數據庫連接:jdbc
- 8. 的Java數據庫連接
- 9. Java和數據庫連接
- 10. 連接MySQL數據庫Java
- 11. Java - mySql數據庫連接
- 12. 數據庫連接模式
- 13. 連接到Java虛擬機中託管的MYSQL數據庫
- 14. 試圖從虛擬機連接到mysql數據庫(Java)
- 15. 數據庫連接是否應該被模擬?
- 16. 如何將hibernate mysql數據庫連接到android模擬器
- 17. 如何模擬連接到MS Access數據庫的方法
- 18. 使用模擬數據庫連接測試的機制
- 19. 針對NoSQL文檔數據庫的模擬連接
- 20. 模擬Java中的完整外連接
- 21. Java數據庫連接無法連接到Derby數據庫Netbeans 7.4
- 22. 連接Mysql數據庫和Java
- 23. 與數據庫連接的Java Swing
- 24. 與數據庫的連接失敗:java
- 25. Java將SSL用於數據庫連接
- 26. 將Java連接到MySQl數據庫
- 27. Java的JDBC數據庫連接登錄
- 28. Java訪問數據庫連接
- 29. Java連接到多個數據庫
- 30. 用Java連接到數據庫
您可能對這篇資源感興趣:http://programmers.stackexchange.com/questions/118933/what-elements-of-my-junits-should-i-mock –