我目前正在做一个需要测试数据库包和功能的项目。我们需要向数据库包提供输入参数并测试包返回预期值,还需要测试请求的响应时间。
请建议,如果有任何工具可以执行此操作,或者我们可以在 Junit 或其他框架中编写我们的测试用例。哪一个是最好的方法?
我目前正在做一个需要测试数据库包和功能的项目。我们需要向数据库包提供输入参数并测试包返回预期值,还需要测试请求的响应时间。
请建议,如果有任何工具可以执行此操作,或者我们可以在 Junit 或其他框架中编写我们的测试用例。哪一个是最好的方法?
我的框架 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|
当我不得不进行 DWH 测试时,我使用了一种更原生的方法。我已经围绕已经存在的开发数据集成框架安排了测试框架。所以我有很多可重用的工作、配置和代码。但是像你建议的那样使用 OOP
在 Junit 中编写我们的测试用例
也是一条路。但请记住,DWH 设计通常非常复杂(需要考虑很多方面),并且与持久层交互并不总是测试策略的最佳候选者。更面向 DB 的解决方案(如tSQLt)提供了显着的性能。
这些资源对我帮助很大: