sqlh和mysql的区别_HSQL和MySQL的区别
我使用MySQL作为我的应用程序数据库,但HSQL作为测试内存数据库。现在的问题是,我有一个SQL selectQuery象下面这样:HSQL和MySQL的区别
SELECT date(a.created_at) as record_date
FROM table a
现在,日期()是日期时间转换为日期在MySQL中的功能,但在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
}
现在,作为测试环境使用HSQL DB,测试抛出一个错误日期方法不可用。
如何解决这个问题,或者有什么更好的方法来实现这个目标?
+0
什么测试支持的方法吗? HSQL的作品,你不需要测试。测试您获得的独立于所用查询机制的正确结果。如果问题是你需要完全改变查询:你不应该那样做。要么使用MySQL,要么模拟数据库调用。 –
+0
@Gimby,更新了问题以使其更清晰 –
+0
正如我所说的,您正在测试错误的东西。 MySQL的日期函数和HSQL的日期函数可以工作,你不需要测试它。你应该测试的是你的应用程序如何响应查询的结果,并且允许你通过嘲笑它使数据库脱离测试。 –
还没有评论,来说两句吧...