pact - Тестирование контракта - Файл PACT не загружается для выполнения

Изначально начал анализировать PACT, скачав проект с гитхаба. В существующий проект я включил свой код для запроса GET services.groupkt.com/country/get/iso2code/IN.

Мне удалось сгенерировать файл PACT, но когда я пытаюсь проверить со стороны производителя, я получаю следующее сообщение

 D:\microservices-pact-maven-master\microservices-pact-consumer>mvn    au.com.dius:p
act-jvm-provider-maven_2.11:verify
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building microservices-pact-consumer 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- pact-jvm-provider-maven_2.11:3.2.2:verify (default-cli) @ microservic
es-pact-consumer ---
Loading pact files for provider Foo_Provider from D:\microservices-pact-maven-ma
ster\microservices-pact-consumer\target\pacts
Skipping D:\microservices-pact-maven-master\microservices-pact-consumer\target\p
**acts\Country_Consumer-Country_Provider.json as the provider names don't match pr
ovider.name: Foo_Provider vs pactJson.provider.name: Country_Provider
Found 1 pact files**

Verifying a pact between Foo_Consumer and Foo_Provider
  [Using file D:\microservices-pact-maven-master\microservices-pact-consumer\tar
get\pacts\Foo_Consumer-Foo_Provider.json]
  a request for Foos
    returns a response which
      has status code 200 (OK)
      includes headers

Может ли кто-нибудь помочь мне решить эту проблему.

заранее спасибо

Сушма


person user3436470    schedule 28.08.2017    source источник


Ответы (1)


Это может быть проблема с именем поставщика, упомянутым в потребительском тесте, где создается PACT. Я думаю, что ваш код имеет следующие значения в вашем классе потребительского пакта.

@Pact (provider = "Foo_provider", consumer = "Foo_consumer")

Пожалуйста, измените имена поставщиков и потребителей в соответствии с вашими требованиями. Снова запустите тест потребителя, а затем запустите тест поставщика.

person sivaganesh sivakumar    schedule 28.08.2017
comment
Спасибо за ваши комментарии. Класс Consumer Pact имеет правильные имена потребителей и поставщиков. @SuppressWarnings (устаревание) @Pact (provider = Country_Provider, consumer = Country_Consumer) public PactFragment createFragment (построитель PactDslWithProvider) {Map ‹String, String› headers = new HashMap ‹› (); headers.put (Content-Type, application / json; charset = UTF-8); - person user3436470; 28.08.2017
comment
Также это моя конечная точка services.groupkt.com/country/get/iso2code/IN. Ответ на это: {RestResponse: {messages: [Дополнительные веб-сервисы доступны по адресу groupkt .com / post / f2129b88 / services.htm, Страна обнаружила соответствующий код [IN].], результат: {name: India, alpha2_code: IN, alpha3_code: IND}}}. - person user3436470; 28.08.2017
comment
Я написал код return builder.uponReceiving (запрос для страны) .path (/ iso2code / IN) .method (GET) .willRespondWith () .headers (headers) .status (200) .body ([{+ \ name \: \ India \, + \ alpha2_code \: \ IN \, + \ alpha3_code \: \ IND \ +}]). toFragment (); } - person user3436470; 28.08.2017
comment
Мне кажется, что я не включил весь ответ. Нам нужно это делать? или это сработает - person user3436470; 28.08.2017
comment
Не могли бы вы предоставить плагин pom.xml для провайдера, которого вы использовали? Имена в плагине должны совпадать с тем, что указано в имени файла пакта. - person sivaganesh sivakumar; 28.08.2017
comment
Это их способ электронной почты через pom.xml - person user3436470; 28.08.2017
comment
Вставьте только часть плагина, начиная с ‹plugin› ‹groupId› au.com.dius ‹/groupId› ‹artifactId› pact-jvm-provider-maven_2.11 ‹/artifactId› ‹version› 3.3.8 ‹/version› - person sivaganesh sivakumar; 28.08.2017
comment
Хорошо, поделитесь им с [email protected], я посмотрю и дам вам знать - person sivaganesh sivakumar; 28.08.2017
comment
Спасибо. Я отправил электронное письмо. пожалуйста, проверьте - person user3436470; 29.08.2017
comment
Привет, Не могли бы вы отправить письмо еще раз. Я думаю, что это где-то упустили - person user3436470; 30.08.2017
comment
Надеюсь, теперь ваша проблема решена. пожалуйста, дайте мне знать @ user3436470 - person sivaganesh sivakumar; 31.08.2017