使用 EmbeddedKafka 时,为每个 Spock 规范重新加载应用程序上下文
Application context is reloaded for every Spock specification when using EmbeddedKafka
我有一个 spring 带有集成测试设置的启动应用程序。我有一个基础 groovy class,我在每个规范中都对其进行了扩展。 Spring 引导版本 2.0.6
我的问题是每个规范都重新启动了应用程序上下文。
如有任何帮助,我将不胜感激。
谢谢
人们在使用 DirtiesContext 或 MockBean 时似乎遇到了这个问题。我也没有。
这是基地的样子
@SpringBootTest(classes = [Application],
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles("spring-boot-test")
class SpringBootTestBase extends Specification {
...
}
我希望我的所有测试都使用相同的上下文。
问题出在EmbeddedKafka。它被重新创建并重新加载上下文。
使用这个 https://github.com/spring-projects/spring-kafka/blob/master/src/reference/asciidoc/testing.adoc#using-the-same-brokers-for-multiple-test-classes 解决了这个问题。
我有一个 spring 带有集成测试设置的启动应用程序。我有一个基础 groovy class,我在每个规范中都对其进行了扩展。 Spring 引导版本 2.0.6 我的问题是每个规范都重新启动了应用程序上下文。
如有任何帮助,我将不胜感激。 谢谢
人们在使用 DirtiesContext 或 MockBean 时似乎遇到了这个问题。我也没有。
这是基地的样子
@SpringBootTest(classes = [Application],
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles("spring-boot-test")
class SpringBootTestBase extends Specification {
...
}
我希望我的所有测试都使用相同的上下文。
问题出在EmbeddedKafka。它被重新创建并重新加载上下文。 使用这个 https://github.com/spring-projects/spring-kafka/blob/master/src/reference/asciidoc/testing.adoc#using-the-same-brokers-for-multiple-test-classes 解决了这个问题。