微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用beanpropertyrowmapper模拟jdbctemplate查询?

如何解决如何使用beanpropertyrowmapper模拟jdbctemplate查询?

问题,我该如何模拟此方法

return jdbcTemplate.query(query.toString(),new BeanPropertyRowMapper<>(TarjetaCoordenada.class),id);

@Override
    public <T> List<T> query(String sql,RowMapper<T> rowMapper,@Nullable Object... args) throws DataAccessException {
        return result(query(sql,args,new RowMapperResultSetExtractor<>(rowMapper)));
    }

这是我当前的代码,我所要做的就是找出如何使用上述参数模拟JDBC查询方法

@ExtendWith(MockitoExtension.class)
class TipoEstadoRepositoryTests {
    
    @Mock
    private JdbcTemplate jdbcTemplate;
    
    @InjectMocks
    private TipoEstadoRepository repository;
    
    @Test
    void shouldValidateConsultar() {
        when(repository.consultar(Mockito.anyString())).thenReturn(null);
        Assertions.assertNull(repository.consultar("abc"));
    }

}

解决方法

这应该有效:

when(jdbcTemplate.query(yourQuery,new BeanPropertyRowMapper<>(TarjetaCoordenada.class),yourId)).thenReturn(yourResult)

或者:

when(jdbcTemplate.query(eq(yourQuery),any(),eq(yourId))).thenReturn(yourResult)

用期望的测试值替换 yourQuery yourId yourResult

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。