0

我正在嘗試Spring Cloud聯繫人:我在我的spring-boot應用程序中有一個端點「/ greeting」,並且它返回「Hello World!」。Spring Cloud Contract不適用於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>行添加到您的萬無一失配置。

相關問題