2017-08-28 6 views
1

最初にgithubの場所からプロジェクトをダウンロードしてPACTを分析し始めました。既存のプロジェクトでは、私はGET要求services.groupkt.com/country/get/iso2code/INのための私のコードを含んでいます。pact-契約テスト - 実行のために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 

私はPACTファイルを生成することができましたが、私はプロデューサーの端から検証しようとしたとき、私は以下のメッセージが表示されます。事前

Sushma

答えて

1

おかげでこれはPACTが作成されたばかりの消費者テストで言及したプロバイダ名に問題がある可能性があります。あなたのコードはあなたのコンシューマーのパクトクラスに以下の値を持っていると思います。

@Pact(プロバイダ= "Foo_provider" = "Foo_consumer"、消費者)

あなたの要件ごとプロバイダとコンシューマの名前を変更してください。コンシューマテストを再度実行し、プロバイダテストを実行します。

+0

ご意見ありがとうございます。コンシューマーPactクラスには、適切なコンシューマー名とプロバイダー名があります。 @SuppressWarnings( "非推奨") \t @Pact(プロバイダ= "Country_Provider"、消費者= "Country_Consumer") 公共PactFragment createFragment(PactDslWithProviderビルダー){ 地図<文字列、文字列>ヘッダー=新規HashMapの<>(); headers.put( "Content-Type"、 "application/json; charset = UTF-8"); – user3436470

+0

また、これは私のエンドポイントservices.groupkt.com/country/get/iso2code/INです。これに関する返信は{"RestResponse":{"messages":[""その他のウェブサービスはhttp://www.groupkt.com/post/f2129b88/services.htm "、"国で一致するコードが見つかりました[IN]です。 "、" result ":{" name ":" India "、" alpha2_code ":" IN "、" alpha3_code ":" IND "}}} – user3436470

+0

私が書いたコードは( "GET")builder.uponReceiving( "国の要求") .path( "/ iso2code/IN") .methodを返すです .willRespondWith() .headers(ヘッダ) .status(200) .body( "[{" + \t \t "\" 名\:インド\ "\" "" + \t \t "\" alpha2_codeの\ ":\" \ IN "" + \t \t "\" alpha3_code \ ":\" IND \ "" + "}]")。 toFragment(); } – user3436470

関連する問題