我需要有关在使用 jdbc 时如何对 ResultSetExtractor 进行单元测试的建议。
String sql = "SELECT * FROM item where item_id = ?";
return (Item) jdbcTemplate.query(sql, new ResultSetExtractor<Item>() {
@Override
public Item extractData(final ResultSet rs) throws ... {
if (rs.next()) {
Item item = new Item (rs.getString(1), rs.getString(2));
return item ;
} else
return null;
}
}, itemId);
}
Run Code Online (Sandbox Code Playgroud)
通过上述使用匿名类的方法,我将不得不使用 argumentCaptor 来获取 ResultSetExtractor。到目前为止,我的测试如下。在 ResultSetExtractor 方面,我不知道接下来该怎么做。
@Test
public void testGetItemByID() {
ArgumentCaptor<ResultSetExtractor> rseCaptor = ArgumentCaptor.forClass(ResultSetExtractor.class);
ArgumentCaptor<String> stringCaptor = ArgumentCaptor.forClass(String.class);
String sql = "SELECT * FROM item where item_id …Run Code Online (Sandbox Code Playgroud)