在Sping Boot 3.2中,我有这样的测试配置:
@TestConfiguration(proxyBeanMethods = false)
class TestBootstrap {
@Bean
@ServiceConnection
@RestartScope
fun mongoDbContainer() = MongoDBContainer("mongo")
}
fun main(args: Array<String>) {
fromApplication<Bootstrap>().with(TestBootstrap::class).run(*args)
}
字符串
这很好用,但是我还想打印Spring/TestContainers在启动MongoDBContainer
时使用的port。例如,我想在一个用@PostConstruct
注解的方法中打印port:
@TestConfiguration(proxyBeanMethods = false)
class TestBootstrap {
private val log = loggerFor<TestBootstrap>()
@Bean
@ServiceConnection
@RestartScope
fun mongoDbContainer() = MongoDBContainer("mongo")
@PostConstruct
fun printPort() {
println("I want to print the port here")
}
}
型
我该怎么做?
1条答案
按热度按时间qncylg1j1#
您可以使用方法
getExposedPorts
来获取暴露的端口列表,并使用getMappedPort(int originalPort)
来获取Map端口。无论如何,对于只暴露一个端口的容器(如您创建的MongoDBContainer)的常见场景,您可以使用getFirstMappedPort()
来检查Map端口。字符串