HSQLDB:在测试数据库和生产数据库之间切换

Posted

技术标签:

【中文标题】HSQLDB:在测试数据库和生产数据库之间切换【英文标题】:HSQLDB: Switching between testing database and production database 【发布时间】:2015-06-18 07:49:52 【问题描述】:

我不知道如何将数据库连接从实际数据库切换到我的测试数据库。我一直在从我的测试类调用 DAO 类中定义的函数 - 所以,在测试类中我有 -

userDAO = new UserDAO(); userDAO.conn= databaseTester.getConnection().getConnection();

在 userDAO 类中我有-

public UserDemoProfileDTO getUserByOTP(String deviceUUID) 
    conn = DBConnector.getPooledConnection(); // here creating connection with actual database
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    UserDemoProfileDTO userDto = new UserDemoProfileDTO();
    try  ...

问题是如何确保当从测试类调用函数时它不连接到实际数据库(因为它在函数内部连接)而是连接到测试数据库? 我不知道,必须有一些功能或东西之间可以切换。由于我是开发世界的新手,请以基本方式回答。 谢谢。

【问题讨论】:

【参考方案1】:

指定数据库连接信息的一种简单方法是在.properties 文件中,您可以使用不同的.properties 文件进行测试和生产,因此您的单元测试使用不同的数据库。

这里有一些问答: Does JUnit support properties files for tests?

【讨论】:

以上是关于HSQLDB:在测试数据库和生产数据库之间切换的主要内容,如果未能解决你的问题,请参考以下文章

使用url设置hsqldb的时区

HSQLDB - 适用于外部 Jar - 不适用于 JRE

HSQLDB 2.3 和参数绑定问题

SAP各个集团还有开发机测试机生产机之间啥关联关系?

JUnit + DbUnit:在开发和测试环境之间切换数据库连接

HSQLDB 内存设置的 HSQLDB 约束违规和 SQL 查询日志