使用 Spring 测试数据库关闭

我需要在数据库(连接,向下 db..)错误期间对应用程序行为进行 Spring 测试。有没有办法从 Spring 单元测试中关闭/杀死或启动 H2 内存数据库?


繁华开满天机
浏览 222回答 3
3回答

白衣染霜花

如果测试数据库连接,这里是旧的,但关于该主题的博客仍然不错。您也应该能够使用 TestContainers 来实现更简单的数据库创建。如果您只需要在某些确切的操作(例如存储库保存)上测试一些失败,您可以简单地模拟存储库以进行测试运行:var mockedBean = Mockito.mock(MyRepository.class);var originalBean = ReflectionTestUtils.getField(articleService, fieldName);Mockito.when(mockedBean.save(Mockito.any(MyEntity.class))).thenThrow(new RuntimeException("My test exception"));ReflectionTestUtils.setField(myService, fieldName, mockedBean);...// test here...// set bean back for other test casesReflectionTestUtils.setField(myService, fieldName, originalBean);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python