排除特定测试的 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-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

【问题讨论】:

【参考方案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 中排除特别标记的测试

全局等效配置。排除成员

如何从 Jest watch 中排除文件?

声纳失败,无法索引两次。请检查包含/排除模式是否为主文件和测试文件生成不相交的集合

Django - 如何排除表单字段视图?

排除特定环境的插件