哪个是测试数据库包的最佳方法?

which s best way to test the database packages?

我目前正在做一个需要测试数据库包和功能的项目。 我们需要向数据库包提供输入参数并测试包returns期望值,同时我们要测试请求的响应时间。

请指教,如果有任何工具可以执行此操作,或者我们可以在 Junit 或其他框架中编写我们的测试用例。 哪种方法最好?

当我不得不进行 DWH 测试时,我使用了一种更原生的方法。我已经围绕已经到位的开发数据集成框架安排了测试框架。所以我有很多可重用的作业、配置和代码。但是像你建议的那样使用 OOP

write our test cases in Junit

也是一条路。但请记住,DWH 设计通常非常复杂(需要考虑很多方面)并且与持久层交互并不总是测试策略的最佳选择。更面向数据库的解决方案(如 tSQLt)提供了显着的性能。

这些资源对我帮助很大:

我的框架 Acolyte 提供了一个 JDBC 驱动程序和工具,专为此类目的(模型、测试等)而设计:http://tour.acolyte.eu.org

它已经在一些开源项目(Anorm、Youtube Vitess 等)中使用,无论是在 vanilla Java 中,还是使用它的 Scala DSL。

handler = handleStatement.withQueryDetection(...).
  withQueryHandler(/* which result for which query */).
  withUpdateHandler(/* which result for which update */).

// Register prepared handler with expected ID 'my-unique-id'
acolyte.Driver.register("my-unique-id", handler);
// then ...
Connection con = DriverManager.getConnection(jdbcUrl);
// ... Connection |con| is managed through |handler|