我正在寻找一种方法来测试我的应用程序是否可以存活,如果它连接的数据库关闭并再次备份。在这种情况下,应用程序的预期行为是首先抛出异常,然后在数据库启动后成功重新连接。
我想在自动化集成测试中这样做(因此手动关闭/打开数据库并查看应用程序的行为是不可能的)。
连接到内存数据库是一个选项,但这会使测试值贬值,因为prod代码和测试代码不会针对完全相同的数据库和驱动程序运行,所以不太理想。
另一种选择是测试触发一个过程,该过程会在几秒钟内切断数据库和应用程序之间的连接(不知道该怎么做)。
还有其他想法吗?
技术堆栈是带有Spring的Java(jdbc模板)。
答案 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?