【发布时间】:2020-12-14 05:06:38
【问题描述】:
我在为我的测试类创建外部配置时遇到问题。现在我的 redis 相关测试必须在里面有一个伴生对象
@Testcontainers
@TestPropertySource("classpath:/application-test.properties")
@SpringBootTest
class RedisRelatedTest {
companion object {
@Container
val container = GenericContainer<Nothing>("redis:5.0.7-alpine")
.apply { withExposedPorts(6379) }
@JvmStatic
@DynamicPropertySource
fun properties(registry: DynamicPropertyRegistry) {
registry.add("spring.redis.host", container::getHost);
registry.add("spring.redis.port", container::getFirstMappedPort);
}
}
... some tesitng
}
我想把它移到外面的某个地方,并使用一些衬里来包含它,但我找不到可行的方法。我用它的伴生对象创建了一个 RedisConfig 类,但是 @Import(RedisConfig::class) 或 @Import(RedisConfig.Congig::class) 被完全忽略了。
【问题讨论】:
标签: kotlin spring-boot-test testcontainers