2017-08-28 59 views
1

最初開始通過從github位置下載項目來分析PACT。在現有的項目中,我包含了我的GET請求代碼services.groupkt.com/country/get/iso2code/IN。pact-合同測試 - 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 

有人能幫助我解決這個問題。

在此先感謝

Sushma

回答

1

這可能是在其中得到創建PACT消費者測試中提到的供應商名稱的問題。我認爲你的代碼在你的消費契約類中具有下面的值。

@Pact(供應商= 「Foo_provider」 消費= 「Foo_consumer」)

請更改提供者和使用者名稱按您的要求。再次運行消費者測試,然後運行提供程序測試。

+0

感謝您的意見。消費者Pact類擁有正確的消費者和提供者名稱。 @SuppressWarnings(「deprecation」) \t @Pact(provider =「Country_Provider」,consumer =「Country_Consumer」) public PactFragment createFragment(PactDslWithProvider builder){ Map headers = new HashMap <> headers.put(「Content-Type」,「application/json; charset = UTF-8」); – user3436470

+0

這也是我的終點services.groupkt.com/country/get/iso2code/IN。對此的響應是{「RestResponse」:{「messages」:[「更多webservices可在http://www.groupkt.com/post/f2129b88/services.htm",Country找到匹配代碼[IN]。 「],」result「:{」name「:」印度「,」alpha2_code「:」IN「,」alpha3_code「:」IND「}}}。 – user3436470

+0

我寫的代碼是return builder.uponReceiving(「請求國家」) .path(「/ iso2code/IN」) .method(「GET」) .willRespondWith() .headers(headers) .STATUS(200) 。體( 「[{」 + \t \t 「\」 名稱\ 「:\」 印度\ 「」 + \t \t 「\」 alpha2_code \ 「:\」 IN \ 「」 + \t \t「\」alpha3_code \「:\」IND \「」+「}]」)。 toFragment(); } – user3436470