首页 > 解决方案 > 排除特定测试的 embedded.mongodb.enabled

问题描述

我正在这里进行一些测试,我从底层开始,reactiveRepository 并成功地在 test/resources bootstrap.yml 中编写了所有必要com.playtika.testcontainers.embedded-mongodbembedded.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为特定的测试用例设置?

标签: mongodbspring-bootjunit5testcontainers

解决方案


您可以为该配置文件创建两个单独的测试配置文件和一个 bootstrap.yaml,其中一个具有嵌入式 mongodb embedded.mongodb.enabled: true(例如用于集成测试用例),另一个具有embedded.mongodb.enabled: false(例如用于单元测试用例)。

更多内容可以参考这篇博客:https ://dev.to/sivalabs/springboot-integration-testing-using-testcontainers-starter-13h2


推荐阅读