Java 如何模拟getNamedParameterJdbcTemplate()
我试图模拟一个扩展NamedParameterJdbcDaoSupport的DAO实现类 这就是我的DAO界面的外观:Java 如何模拟getNamedParameterJdbcTemplate(),java,unit-testing,mockito,spring-jdbc,spring-junit,Java,Unit Testing,Mockito,Spring Jdbc,Spring Junit,我试图模拟一个扩展NamedParameterJdbcDaoSupport的DAO实现类 这就是我的DAO界面的外观: public interface TestDAO{ List<String> search(); } 所以我想实现一些类似于 when(getNamedParameterJdbcTemplate().query(mySQLQuery,myMapSqlParameterSource, myRowMapper)).thenReturn(whatIWantToRet
public interface TestDAO{
List<String> search();
}
所以我想实现一些类似于
when(getNamedParameterJdbcTemplate().query(mySQLQuery,myMapSqlParameterSource, myRowMapper)).thenReturn(whatIWantToReturn);
我找不到这方面的任何信息。有人能指引我吗。如何做到这一点
public class TestDAOImplTestCase{
@Test
public void testSearch(){
when(getNamedParameterJdbcTemplate().query(mySQLQuery,myMapSqlParameterSource, myRowMapper)).thenReturn(whatIWantToReturn);
}
}
相信我,你不会想这么做的。您真正想做的是做两个测试:
TestDao
接口,如果其余代码将正确的参数传递给search
并正确处理结果,则模拟单元测试TestDAOImpl
,将其连接到真实数据库,用数据预填充数据库,执行search
方法,检查是否返回正确答案我想做的是在调用查询方法时返回一些测试结果?
when(getNamedParameterJdbcTemplate().query(mySQLQuery,myMapSqlParameterSource, myRowMapper)).thenReturn(whatIWantToReturn);
public class TestDAOImplTestCase{
@Test
public void testSearch(){
when(getNamedParameterJdbcTemplate().query(mySQLQuery,myMapSqlParameterSource, myRowMapper)).thenReturn(whatIWantToReturn);
}
}