我需要使用Postgres、Redis和Elasticsearch在Spring Boot项目中设置集成测试(稍后还会添加Kafka)。到目前为止,我找到了两种选择:
第三个选项需要一些手工工作。绝对有可能制作一个包含本地使用测试所需的所有服务的docker组合文件,并让架构体系团队按照他们想要的方式构建容器,以便在管道中运行测试。但是这样,当在本地运行测试时,开发人员将不得不手动启动/停止这些容器。
有没有办法自动化这个过程?或者有没有类似于在库伯内特斯工作的测试容器的选项?或者有没有办法在库伯内特斯运行测试容器?
提前谢谢你。
您可以在基于Kubernetes的构建中运行testcontainers。您只需要在构建(容器)中提供一个容器运行时。这可能是无根docker,独立于kubernetes集群使用的容器运行时。
我正在尝试对停靠数据库运行DropWizard的集成测试。 DropWizard 测试容器 我试过的: 我得到由:java.lang.IllegalStateException引起的 将这些链接在一起也不起作用 最后,这是可行的,但据我所知,它在每次测试中都运行新的DropwizardAppRule,这是不好的... 那么,如何将规则链接起来,使PostgreSQLContainer首先启动,并且
我尝试编写一个联调的Spring Data Elastisearch存储库在SpringBoot使用测试容器和junit5 org . spring framework . beans . factory . unsatisfieddependencyexception:创建名为“com . example . demo . addressrepositorytest”的bean时出错:通过字段“
已删除MyTestConfig.class,但问题仍然相同。即使我使用@SpringBootTest(classes={Application.Class,MyProblematicServiceImpl.Class}),它仍然在自动连线的地方返回模拟对象。MyProblematicServiceImpl是用@Service注释的空类。
与@mockbean和@spybean一样,有没有类似于@fakebean/@dummybean的东西? 其思想是,该实例是100%真实的(具有预期的生产内部状态),并且它覆盖(或者添加bean,以防在配置中没有声明)上下文中的bean。理想情况下,您不需要创建TestConfiguration类并将其设置为Primary,因为这样可以在每个测试的基础上控制假冒,只有在需要时才可以。否则它使用主的
我想用liquibase变更集进行模拟数据的集成测试,如何使其不影响真实数据库?我从这里找到了部分想法,但我使用的是springboot,我希望有更简单的解决方案。