Я не могу заставить тесты pact провайдера работать на любом другом порту, кроме 8080, при использовании jUnit5.У меня есть следующий код:
@ExtendWith(SpringExtension.class)
@Provider(PROVIDER)
@PactFolder("pacts")
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class PactProviderTest {
@LocalServerPort private int serverPort;
@Autowired Result<IServiceManagementFacade2> serviceManagementFacade;
@Autowired private RestServiceFactory restServiceFactory;
@TestTemplate
@ExtendWith(PactVerificationInvocationContextProvider.class)
void pactVerificationTestTemplate(PactVerificationContext context) {
context.setTarget(new HttpTestTarget("localhost", serverPort));
context.verifyInteraction();
}
Когда я запускаю это, я получаю следующую ошибку:
Request Failed - Connect to localhost:8080 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused (Connection refused)
Если я изменяю
@ SpringBootTest (webEnvironment= WebEnvironment.RANDOM_PORT)
до
@ SpringBootTest (webEnvironment = WebEnvironment.DEFINED_PORT)
тесты пройдены.Но тогда никакое другое приложение не может быть запущено на этом порту во время тестов, что недопустимо в тестовой среде.Любые идеи, как я могу решить это?