mongodb - 排除特定测试的 embedded.mongodb.enabled
问题描述
我正在这里进行一些测试,我从底层开始,reactiveRepository 并成功地在 test/resources bootstrap.yml 中编写了所有必要com.playtika.testcontainers.embedded-mongodb
的embedded.mongodb.enabled: true
测试
现在我将一层向上移动到@Services,但我发现它testcontainers
仍然在执行embedded-mongodb
我不需要的,因为我只是在模拟服务测试的存储库:
@MockBean
private UserRepository userRepository;
@Test
blah blah blah() {
Mockito.when(userRepository.findByUsername(loginRequest.getUsername())).thenReturn(Mono.just(fakeUser));
}
关于如何排除embedded-mongo
自动配置的任何提示?或embedded.mongodb.enabled: false
为特定的测试用例设置?
解决方案
您可以为该配置文件创建两个单独的测试配置文件和一个 bootstrap.yaml,其中一个具有嵌入式 mongodb embedded.mongodb.enabled: true
(例如用于集成测试用例),另一个具有embedded.mongodb.enabled: false
(例如用于单元测试用例)。
更多内容可以参考这篇博客:https ://dev.to/sivalabs/springboot-integration-testing-using-testcontainers-starter-13h2
推荐阅读
- sql - 如何将此代码从 netezza 迁移到 db2?
- netflix-eureka - 当 Eureka 客户端检测到来自 Config Server 的配置更改时,如何避免重新注册到 Eureka 服务器?
- c - 如何从文件中逐行将单词和整数写入数组
- java - 如何在没有属性类的情况下拥有相同的程序,这里是 int 私有计数器
- css - 如果下拉下拉-“向上”,JavaFX ComboBox 边框是错误的
- oauth-2.0 - Kong OAuth2 插件客户端凭据流 provision_key 未验证
- asp.net - http 内容显示在 asp.net 应用程序中
- javascript - ElectronJS BrowserWindow FOUC
- python-3.x - 如何将作为排行榜的文本文件限制为五个名称,并根据点数对它们进行排序
- java - 如何在 Spring 应用程序中存储从另一个系统检索到的令牌?