Настройте два порта для тестирования интеграции Springboot - PullRequest
0 голосов
/ 18 февраля 2019

Я довольно новичок в Spring Framework, и мое JAVA-приложение (Say Project_A), работающее с http://localhost:8080,, выполняет обработку и перенаправляет обработанный контент на http://localhost:9090, где работает другое приложение (Say Project_B).Project_B отвечает обратно в Project_A, а затем Project_A пересылает содержимое наружу.

Сейчас я пытаюсь написать интеграционный тест для Project_A, поэтому нужно два макета, один на стороне запроса, а другой на стороне Project_B.Для запроса я могу использовать MockMVC для имитации запроса и отправки.Но для моделирования Project_B я думаю о создании фиктивного контроллера, который получает запросы от Project_A и соответственно отправляет ответы.Для этого мне нужно создать еще один контроллер, работающий в другом порту.Порт по умолчанию в project_A - 8080, и в моем новом контроллере контроллера мне нужно использовать 9090.

Есть ли способ использовать два разных порта в одном приложении Spring Junit?Или есть какой-нибудь лучший способ добиться этого с помощью самотестирования пружинного блока?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

вы можете использовать server.port=9090 в application-test.properties.И в вашем тестовом классе вы можете выбрать его следующим образом:

@TestPropertySource(value = { "classpath:application-test.properties" })

, вам также нужно определить server.port вместо фактического порта в файле application.properties

0 голосов
/ 18 февраля 2019

Я обычно использую это в application.properties

management.port=${second_Port}

...