隨着春天啓動不工作的測試,我想測試我的@RestController,一切都只是當我嘗試測試與@PathParam請求映射好。春季啓動MockMvc與@PathVariable
這涉及接口(在此情況下的TestController)保持爲註解請求映射!如果我刪除接口一切都很好... Seemes是一個問題......
我的控制器:
public interface TestController {
@RequestMapping(value = "/bar/{foo}/baz", method = RequestMethod.GET)
String test(@PathVariable("foo") String foo);
@RestController
class TestControllerImpl implements TestController {
@Override
public String test(String foo) {
return foo;
}
}
}
我的測試:
@Test
public void notworkingtest() throws Exception {
//THIS TEST SHOULD WORK, BUT DON'T ...
final MockMvc mockMvc = ...
mockMvc.perform(get("/bar/{foo}/baz", "foovalue") // Or get("/bar/foovalue/baz")
.contentType("text/plain"))
.andExpect(status().is2xxSuccessful())
.andExpect(content().string("foovalue"));
}
@Test
public void strangeworkingtest() throws Exception {
//THIS TEST WORKS, BUT WHY ?!?
final MockMvc mockMvc = ...
mockMvc.perform(get("/bar/{foo}/baz", "WhatEverValue")
.param("foo", "foovalue") // This param should be useless ...
.contentType("text/plain"))
.andExpect(status().is2xxSuccessful())
.andExpect(content().string("foovalue"));
}
第二測試工作時,我有.param(「foo」,「foovalue)並保持get(」/ bar/{foo}/baz「,」WhatEverValue「)...
如果我刪除Controller的接口, 。
有人可以向我解釋嗎?
THX
你可以不帕拉姆取代的get( 「/測試/ {FOO})」 使用get( 「/測試/ foovalue」)。 – sergiu
'.PARAM(「富」,「foovalue」)'設定值 – Sam
@sergiu已經嘗試..沒有相同的行爲... – Oziris