#java #maven #pact
Вопрос:
За https://docs.pact.io/implementation_guides/jvm/provider/maven/#2-define-the-pacts-between-your-consumers-and-providers : Требуются протокол, Хост и порт.
Мое приложение spring boot rest находится на kubernetes, у меня есть URL конечной точки, например https://fruitbasket.net/abc Если я не укажу port
тег и не запущу mvn pact:verify
; тест завершится неудачно, и, похоже :8080
, будет добавлен во время выполнения
https://fruitbasket.net/:8080/abc
По сути, испортил конечную точку запроса.
Пожалуйста, обратите внимание: наличие у меня фиксированного IP-адреса и порта нереально.
Как я могу указать URL-адрес хоста поставщика без порта?
конфигурация плагина:
<plugin>
<groupId>au.com.dius.pact.provider</groupId>
<artifactId>maven</artifactId>
<version>4.1.0</version>
<configuration>
<serviceProviders>
<name>marketplace</name>
<protocol>https</protocol>
<host>fruitbasket.net</host>
</serviceProvider>
</serviceProviders>
</configuration>
</plugin>
Ответ №1:
в моем текущем проекте мы используем эту конфигурацию
<plugin>
<groupId>au.com.dius.pact.provider</groupId>
<artifactId>maven</artifactId>
<version>4.2.0</version>
<configuration>
<pactBrokerUrl>https://mypactbroker</pactBrokerUrl>
<trimSnapshot>true</trimSnapshot>
</configuration>
</plugin>
с аннотацией @PactBroker(scheme = "https")
к тестовому классу.
Комментарии:
1. Вам нужно инициализироваться
ServiceProviders
, чтобы выполнитьmvn pact:verify
, и мой вопрос связан с егоport
тегомExecution default-cli of goal au.com.dius.pact.provider:maven:4.1.13:verify failed: lateinit property serviceProviders has not been initialized
.2. ^^ Любые предложения/ рекомендации