我想用数据库连接测试类。我要测试的类在构造函数中接受 Connection
类作为参数。我希望将模拟对象传递给构造函数。您能告诉我一个好的框架和示例,如何模拟数据库连接吗?
我想用数据库连接测试类。我要测试的类在构造函数中接受 Connection
类作为参数。我希望将模拟对象传递给构造函数。您能告诉我一个好的框架和示例,如何模拟数据库连接吗?
您可以使用模拟框架,例如上面答案中提到的(我个人使用EasyMock)或者创建自己的模拟对象:
class FakeConnection extends Connection{
// Overrive all method behavious you want to fake.
}
我认为创建模拟连接没有意义,它证明不了什么。
在你使用真实连接完全测试过存储库/DAO之后,我可以理解为什么会模拟存储库/DAO本身。因为你已经测试过它,所以可以将模拟存储库/DAO提供给服务或其他客户端,无需在进行集成测试之前证明它的工作正常。
如果您打算在许多测试用例中重复使用该模拟,则可以考虑实现自己的连接实现,并在各处重复使用该实现。