数据库关闭时测试应用程序行为

时间:2014-04-09 06:12:14

标签: java spring

我正在寻找一种方法来测试我的应用程序是否可以存活,如果它连接的数据库关闭并再次备份。在这种情况下,应用程序的预期行为是首先抛出异常,然后在数据库启动后成功重新连接。

我想在自动化集成测试中这样做(因此手动关闭/打开数据库并查看应用程序的行为是不可能的)。

连接到内存数据库是一个选项,但这会使测试值贬值,因为prod代码和测试代码不会针对完全相同的数据库和驱动程序运行,所以不太理想。

另一种选择是测试触发一个过程,该过程会在几秒钟内切断数据库和应用程序之间的连接(不知道该怎么做)。

还有其他想法吗?

技术堆栈是带有Spring的Java(jdbc模板)。

2 个答案:

答案 0 :(得分:0)

我认为你可以尝试提供不正确的db log in信息来模拟连接丢失

答案 1 :(得分:0)

如果您正在查看终止连接,根据您的设置,您可以创建一个批处理脚本来禁用您的网络适配器,并在准备好后再次将其重新打开

这可能会有所帮助 How can I write a batch file to toggle my network adapters?

您可以使用它来调用脚本 How do I run a batch file from my Java Application?