我的端点为:
@RequestMapping(value = "/topics/{topicId}")
public class TopicGateway {
@PostMapping
public void generate(@RequestParam MultiValueMap params, HttpServletResponse response) {
reportFacade.generate(params, response);
}
我想为此方法创建集成测试。 我可以放心使用,但是使用默认的嘲讽MvcMvc的示例也可以帮上忙。
我现在所做的只是:
given()
.pathParam("topicId", 1)
// here I need to add those MultiValueMap.
.get(BASE_PATH)
.then()
.statusCode(200);
private MultiValueMap<String, String> params(){
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.add("param1", "Test");
params.add("param2", "Another test");
params.add("param3", "123");
params.add("param4", "456");
return params;
}
我尝试过:。formParameters(params())
,但似乎没有用。
答案 0 :(得分:0)
我假设您正在尝试测试POST
方法。这是代码:
given()
.post(BASE_PATH, params())
.then()
.statusCode(200);
private MultiValueMap<String, String> params(){
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.add("param1", "Test");
params.add("param2", "Another test");
params.add("param3", "123");
params.add("param4", "456");
return params;
}
您必须将方法更改为post
并将映射作为第二个参数传递