【发布时间】:2014-04-09 06:12:13
【问题描述】:
我正在寻找一种方法来测试如果我的应用程序连接到的数据库出现故障并再次备份,它是否能够继续存在。在这种情况下,应用程序的预期行为是首先抛出异常,然后在数据库启动后成功重新连接。
我想在自动化集成测试中这样做(因此手动关闭/打开数据库并查看应用程序的行为是毫无疑问的)。
连接到内存数据库是一种选择,但这会降低测试的价值,因为产品代码和测试代码不会针对完全相同的数据库和驱动程序运行,因此并不理想。
另一种选择是让测试触发一个进程,该进程会在几秒钟内切断数据库和应用程序之间的连接(不知道该怎么做)。
还有其他想法吗?
技术栈是带有 Spring 的 Java(jdbc 模板)。
【问题讨论】: