我想用make db连接测试类。我想测试接受的类,作为构造函数Connection类中的参数。我想将模拟对象传递给构造函数。你能用例子告诉我一个好的框架如何模拟数据库连接吗?
发布于 2011-11-26 23:52:42
您可以使用支持JDBC的MockRunner。像Mockito这样的通用模拟框架也可以工作,但是JDBC是一组相互返回的接口,所以手工模拟将会很困难。亲眼看看:How to stub/mock JDBC ResultSet to work both with Java 5 and 6?
然而,模仿JDBC是如此脆弱和冗长(无论您使用什么工具),以至于我建议要么在某个薄的DAO层中抽象JDBC访问(参见@duffymo回答),要么选择内存中的数据库,比如H2。
另请参阅:
发布于 2011-11-26 23:51:27
连接是一个接口。任何模拟框架都可以模拟它:EasyMock,Mockito,...
模拟它与模拟任何其他Java接口没有什么不同。
发布于 2011-11-26 23:54:46
我不会创建一个模拟连接--在我看来,这证明不了什么。
我明白了为什么在使用实时连接完全测试了存储库/DAO之后,您还要模拟它本身。您可以将模拟存储库/DAO提供给服务或其他客户端,因为您已经对其进行了测试-在进行集成测试之前,不需要证明它是有效的。
https://stackoverflow.com/questions/8279547
复制相似问题