java – 如何有效地测试SQL / JPQL / HQL?

当单元测试不测试数据库时,通常会说这是一个集成测试(see point 4).但是,SQL / JPQL / HQL封装了数据存储特定的逻辑,这些逻辑通常采用字符串格式来表示如何访问数据.这种自由格式字符串数据访问命令很容易出错,因此...

当单元测试不测试数据库时,通常会说这是一个集成测试(see point 4).

但是,SQL / JPQL / HQL封装了数据存储特定的逻辑,这些逻辑通常采用字符串格式来表示如何访问数据.这种自由格式字符串数据访问命令很容易出错,因此需要进行测试.

我如何有效地测试这种逻辑?

解决方法:

对SQL(或类似框架)查询运行单元测试最接近的是在内存中设置SQLite数据库,并针对它运行.

虽然这在技术上仍然是一个集成测试,但它的运行速度几乎与单元测试一样快.

如果您这样做,请注意注意SQLite和您的真实数据库之间的细微差别,并尝试使您的查询与两者兼容.

希望这可以帮助,
阿萨夫.

本文标题为:java – 如何有效地测试SQL / JPQL / HQL?

基础教程推荐