【发布时间】:2019-07-03 02:15:34
【问题描述】:
我正在使用 Spock 测试 Spring Boot 应用程序,但在其中一个测试用例中,我需要模拟或存根对身份验证服务器的调用(使用 oauth 2),因此我试图将请求重定向到虚拟服务器用于测试并使方法返回固定令牌。但是,我在运行时覆盖了端口,但由于虚拟服务器位于固定端口(从application-test.yml 读取)而出现错误,有没有办法在运行时更改它以使服务器与随机端口匹配测试正在运行吗?
这是我的setup 函数:
`def setup() {
omcService.soapClient = Stub(SOAPClient)
String url = "http://localhost:${port}"
nonRetryableExceptionProcessor.omsUrl = url
omsService.omsUrl = url
omsService.authUrl = "$url/oauth/token?scope=all"
omsService = Spy(OmsService)
producerTemplate.start()
}
当我调试这个测试时,属性发生了变化,但是当应用程序执行 GET 操作时,它总是指向localhost:4321,这不是 Spring 拾取的随机端口
【问题讨论】:
标签: java spring-boot groovy spock