如果我无法覆盖存储库类中的某些行,我正在为存储库类编写测试用例。我需要达到 85% 的代码覆盖率,并且在我的情况下是强制性的,请给我建议
我的实际方法
public Map<String, String> getProductFamily(List<String> itmNms) {
Map<String, String> productFamilyMap=new HashMap<String, String>();
try {
NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate);
String sql = "some query";
MapSqlParameterSource namedParameters = new MapSqlParameterSource();
namedParameters.addValue("itmNms", itmNms);
productFamilyMap = namedParameterJdbcTemplate.query(sql, namedParameters, (ResultSet rs) -> {
Map<String, String> productFamily = new HashMap<>();
while (rs.next()) {
productFamily.put(rs.getString("ITEMNAME"), rs.getString("PRODUCTFAMILY"));
}
return productFamily;
});
}catch (Exception e) {
LOGGER.error("Exception in OracleRespository.getProductFamily : {}", e);
}
return productFamilyMap;
}
Run Code Online (Sandbox Code Playgroud)
上述方法的测试用例
@Test
public void getProductFamily() {
List<String> itmNms = …Run Code Online (Sandbox Code Playgroud)