use*_*522 1 junit jdbc mockito
我正在尝试使用mockito编写一些jdbc过程调用的单元测试.这是我第一次用模拟对象(mockito)编写测试.
我试图测试的方法看起来像这样......
public void deleteData(final Connection connection, final AnObject ) {
CallableStatement statement = null;
statement = connection.prepareCall("{call DEL_DATA(?)}");
statement.setInt(1, object.getId());
statement.executeUpdate();
connection.commit();
DatabaseSql.close(statement);
}
Run Code Online (Sandbox Code Playgroud)
如何使用mockito和junit测试这样的方法?
提前致谢.
像这样的方法实际上不是单元测试的候选者,因为它的整个目的是与数据库进行交互.也许你想测试你正确地与数据库交互.这将是一个有效的测试,但要做到这一点,需要涉及一个数据库.
基本上,我们现在谈的是集成测试,而不是单元测试.虽然JUnit当然会这么做,但我看不出Mockito对你有很大的帮助.
在过去,我测试这样的代码的方式是使用轻量级的内存数据库.其中有一些,但我推荐的是H2(h2database.com).一旦你的路径中有H2罐,这个速度相当快且易于使用.
您可能希望集成测试执行以下操作.
使用H2,您可以在"内存"模式下运行此类测试,这意味着在每次测试结束时无需任何清理步骤.
| 归档时间: |
|
| 查看次数: |
4808 次 |
| 最近记录: |