0

私はSpringクラウドコンタクトを試みています。連絡先:スプリングブートアプリケーションにエンドポイント "/ greeting"があり、 "Hello World!"が返されます。スプリングクラウド契約がSurefire 2.20で動作しない

契約は、以下のようなものです:

request { 
    method 'GET' 
    url '/greeting' 
    headers { 
     contentType('application/json') 
    } 
} 
response { 
    status 200 
    body([ 
      "content": "Hello, World!" 
    ]) 
} 

私のテストクラス:

public class ExampleJavaConsumerPactTestIT { 

@Before 
public void setup() { 
    RestAssuredMockMvc.standaloneSetup(new GreetingController()); 
} 

@Test 
public void aQuickTest(){ 
} 

}

すべてが正常に動作します:私は、 "コンテンツ" に上記の契約を変更する場合:「こんにちは! "の場合、テストは失敗します。しかし

、私は、ユーザーシュアプラグインに私の依存関係に追加します。

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.20</version> 
      <configuration> 
       <includes> 
        <include>**/*IT.java</include> 
       </includes> 
      </configuration> 
     </plugin> 

は、その後、私は間違った契約に再度テストを実行します(コンテンツを ":『!こんにちは』)、テストは失敗したが、それ必要がありますない。

は、何か問題があるのでしょうか?

+0

サンプルをどこかに投稿できますか?これがなければあなたを助けるのが難しいでしょう... –

+0

ExampleJavaConsumerPactTestITはベリファイアの基本クラスですか? それ以外の場合は **/* IT.javaには含まれていない可能性があります。 – Jeff

+0

@MarcinGrzejszczak私はソースをhttps://github.com/pkid/spring-cloud-contract-with-surefireに置いています。基本的には、 "mvn clean test -Pcontract-tests"を実行するとビルドの失敗が予想されます – Yashu

答えて

1

あなたの設定が間違っている。生成されたテストがContractVerifierTestと呼ばれているので、それはあなたのプロフィールのいずれかで選んではないです。ちょうどあなたの確実な構成に<include>**/*ContractVerifierTest.java</include>行を追加します。

関連する問題