【发布时间】:2020-07-26 04:27:00
【问题描述】:
我有另一个棘手的问题要问人群。我有两个单独的测试文件重用同一个 Context 类。我希望他们重用相同的上下文,唉 Spring ist 启动了两次,从而延长了构建时间。你有什么想法如何弄清楚/调试,是什么触发了上下文重新加载?
测试类如下所示:
@SpringBootTest(
classes = [HttpProxyTestContext::class]
)
@AutoConfigureWireMock(port = 8082)
internal class AuthOpenidConnectSpringIT {
...
}
和
@SpringBootTest(
classes = [HttpProxyTestContext::class]
)
@AutoConfigureWireMock(port = 8082)
internal class AuthOidcWebClientIT {
...
}
上下文类是
@JooqTest
@ComponentScan(basePackages = ["de.denktmit.someproject.springconfig"])
class HttpProxyTestContext {}
最好的问候,保持健康,
马吕斯·施密特
【问题讨论】:
-
这就是我理解 Spring Test Framework 应该工作的方式:。仅为一个测试类保留上下文。
-
嗨@johanneslink,根据文档docs.spring.io/spring-framework/docs/current/…,如果我理解正确,默认是重用上下文。但我似乎以某种方式打破了它,我不明白,如何。
-
嗯。我最近深入研究了 testcontext 代码的某些部分。上下文肯定是每个测试类创建和存储的。当从相同配置创建上下文时,可能会有额外的缓存。我明天去看看。
标签: spring-boot kotlin integration-testing junit5