我正在编写一个简单的应用程序,它将读取一些记录并将它们插入数据库。我已经编写了一个处理插入逻辑的存储过程,并计划单独测试它。现在我想为获取业务对象并将其传递给存储过程调用的逻辑部分编写一个好的单元测试。
我想我想要做的是传递数据库连接的模拟,然后断言调用是使用预期的参数值进行的:
Connection dbConnection = makeMockConnection(); // how?
MyObjectWriter writer = new MyObjectWriter(dbConnection);
writer.write(someSampleObject);
// somehow assert that dbConnection called
// `sp_saveMyObject` with param values x, y, and z
然而,似乎有很多工作在里面挖掘java.sql.Connection
,了解它是如何工作的,然后模拟所有的结果。是否有一个测试库可以为我完成所有这些工作?我是不是走错路了?