小编Vis*_*han的帖子

Junit How to mock namedParameterJdbcTemplate.query(" ", parameters,(ResultSet rs))

如果我无法覆盖存储库类中的某些行,我正在为存储库类编写测试用例。我需要达到 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)

java junit junit4 jacoco spring-boot

5
推荐指数
1
解决办法
4729
查看次数

标签 统计

jacoco ×1

java ×1

junit ×1

junit4 ×1

spring-boot ×1