排除特定测试的 embedded.mongodb.enabled
Posted
技术标签:
【中文标题】排除特定测试的 embedded.mongodb.enabled【英文标题】:Exclude embedded.mongodb.enabled for certain test 【发布时间】:2020-06-28 11:17:54 【问题描述】:我正在这里进行一些测试,我从底层开始,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
?
【问题讨论】:
【参考方案1】:您可以为该配置文件创建两个单独的测试配置文件和一个 bootstrap.yaml,其中一个具有带有 embedded.mongodb.enabled: true
的嵌入式 mongodb(例如用于集成测试用例),另一个带有 embedded.mongodb.enabled: false
(例如用于单元测试用例) )。
更多内容可以参考这篇博客:https://dev.to/sivalabs/springboot-integration-testing-using-testcontainers-starter-13h2
【讨论】:
以上是关于排除特定测试的 embedded.mongodb.enabled的主要内容,如果未能解决你的问题,请参考以下文章
使用 ScalaTest 时从 SBT 中排除特别标记的测试