0

我正在尝试 Spring Cloud Contact:我的 spring-boot 应用程序中有一个端点“/greeting”,它返回“Hello World!”。

合同如下:

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(){
}

}

一切正常:如果我将上述合同更改为“content”:“Hello!”,则测试失败。

但是,当我将依赖项添加到用户 Surefire 插件时:

        <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>

然后我用错误的合约再次运行测试(内容“:“你好!”),测试应该失败但它没有。

有什么问题吗?

4

1 回答 1

1

你的设置是错误的。调用生成的测试,ContractVerifierTest因此您的任何一个配置文件都不会选择它。只需将该<include>**/*ContractVerifierTest.java</include>行添加到您的万无一失的配置中。

于 2017-05-08T14:03:21.033 回答