Я тестирую приложение Spring Boot с помощью Spock, но в одном из тестовых случаев мне нужно смоделировать или заблокировать вызовы к серверу авторизации (используя 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
, что не является случайным портомподобрана к весне