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的日期函数可以工作,你不需要测试它。你应该测试的是你的应用程序如何响应查询的结果,并且允许你通过嘲笑它使数据库脱离测试。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值