Automated tests 测试数据库包的最佳方法是什么?

Automated tests 测试数据库包的最佳方法是什么?,automated-tests,database-testing,Automated Tests,Database Testing,我目前正在做一个项目,我们需要测试数据库包和功能。 我们需要向数据库包提供输入参数,并测试包返回的预期值,还需要测试请求的响应时间 请注意,如果有任何工具可以执行此操作,或者我们可以在Junit或其他框架中编写测试用例。 哪种方法是最好的方法?当我不得不进行DWH测试时,我使用了一种更为自然的方法。我已经围绕已经就位的Dev数据集成框架安排了测试框架。所以我有很多可重用的工作、配置和代码。但是像你建议的那样使用OOP 用Junit编写测试用例 这也是一条路要走。但是要记住,DWH设计经常是非常复

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

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

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

用Junit编写测试用例

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

这些资源对我帮助很大:


My framework Acolyte提供了一个JDBC驱动程序和工具,用于模拟、测试等目的:

它已经在一些开源项目Anorm、Youtube Vitess等中使用,或者是在香草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|