我使用MySQL作为应用程序数据库,而使用HSQL作为内存测试数据库。现在的问题是我有一个SQL selectQuery,如下所示:
SELECT date(a.created_at) as record_date
FROM table a
现在,date()是MYSQL中用于将DateTime转换为date的函数,但在HSQL中,相同的函数是to_date()。现在,我有了一个方法,它将上述查询命中数据库并获得输出。
public Response dbQueryThroughJdbcTemplate(String selectQuery){
jdbcTemplate.query(selectQuery, RowMapper); //RowMapper maps output to Response
}
现在,我有一个测试方法来测试这个方法,
@Test
public void testDbQueryThroughJdbcTemplate(){
Response response = dbQueryThroughJdbcTemplate(selectQuery);
TestCase.assertEquals(expected, response); // avoided the code for making expected object
}
现在,由于测试环境正在使用HSQLdb,测试抛出一个错误,即日期方法不可用。
如何解决这个问题,或者有什么更好的方法来实现这个目标?