Spring cloud 从spring restdocs生成的dslContract不使用queryParameters
当我在restdoc测试中使用查询参数创建dslcontracts时,它会创建groovy contract文件以及存根文件。但是,当我使用@EnableStubRunnerServer部署契约时,我永远无法获得匹配的查询参数 我意识到生成存根文件的请求如下所示:Spring cloud 从spring restdocs生成的dslContract不使用queryParameters,spring-cloud,wiremock,Spring Cloud,Wiremock,当我在restdoc测试中使用查询参数创建dslcontracts时,它会创建groovy contract文件以及存根文件。但是,当我使用@EnableStubRunnerServer部署契约时,我永远无法获得匹配的查询参数 我意识到生成存根文件的请求如下所示: "request" : { "url" : "/search", "method" : "GET", "queryParameters" : { "query" : { "equal
"request" : {
"url" : "/search",
"method" : "GET",
"queryParameters" : {
"query" : {
"equalTo" : "friday"
}
}
}
However if i change the stub file to :
"request" : {
"urlPathPattern" : "/search",
"method" : "GET",
"queryParameters" : {
"query" : {
"equalTo" : "friday"
}
}
}
it seems to work. Is there a way to make this work?
Here is how i'm writing the test:
@Test
public void searchWithQuery() throws Exception {
Map<String, Object> param = new HashMap<>();
param.put("query", "equalTo(\"friday\")");
mockMvc.perform(get(SEARCH_PATH + "?query=friday"))
.andExpect(status().isOk())
.andDo(document("search-query",
dslContract(param)
));
}
“请求”:{
“url”:“/搜索”,
“方法”:“获取”,
“查询参数”:{
“查询”:{
“equalTo”:“星期五”
}
}
}
但是,如果我将存根文件更改为:
“请求”:{
“urlPathPattern”:“/搜索”,
“方法”:“获取”,
“查询参数”:{
“查询”:{
“equalTo”:“星期五”
}
}
}
它似乎起作用了。有没有办法让这一切顺利进行?
以下是我编写测试的方式:
@试验
public void searchWithQuery()引发异常{
Map param=new HashMap();
参数put(“查询”、“相等”(“星期五”);
mockMvc.perform(获取(搜索路径+“?查询=friday”))
.andExpect(状态().isOk())
.andDo(文档(“搜索查询”),
DSL合同(参数)
));
}
最有可能是一个bug,你能存档吗?刚刚创建了一个bug报告:最有可能是bug,你能存档吗?刚刚创建了一个bug报告: