H2在测试中的使用

关注特性

前面我们介绍了H2的众多特性,其中有部分特性是我们关注的重点:

  • java编写
  • ++支持标准SQL,JDBC API++
  • 支持嵌入式模式和服务器模式,支持集群
  • 兼容模式,适用于IBM DB2, Apache Derby, HSQLDB, MS SQL Server, MySQL, Oracle, and PostgreSQL
  • ++小巧(jar文件大概1.5 MB大小), 内存要求低++

适用场景

这几个特性,使得H2非常的适合用于数据库访问层的自动化,典型场景:

  • 以嵌入式模式在Java测试案例中启动
  • 模拟其他数据库如mysql/Oracle/PostgreSQL
  • 提供标准JDBC支持,构建DataSource/Connection等
  • 使得数据库访问层的代码可以在H2的基础上运行/测试/验证

在使用H2模拟mysq/oracle/postgresql等真实数据库之后,涉及数据库访问的功能模块的测试就变得方便而且容易自动化,在此基础上,持续集成/CI也就方便了。

限制

H2对其他数据库的替代,毕竟停留在模拟的层次上,不可能在所有的细节上都和原数据库完全一致。因此如果涉及到比较偏门的数据库独有特性,可能无法模拟。

results matching ""

    No results matching ""