【问题标题】:Exclude embedded.mongodb.enabled for certain test排除特定测试的 embedded.mongodb.enabled
【发布时间】:2020-06-28 11:17:54
【问题描述】:

我正在这里进行一些测试,我从底层开始,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

【问题讨论】:

    标签: mongodb spring-boot junit5 testcontainers


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-24
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 2017-08-16
      • 1970-01-01
      相关资源
      最近更新 更多