मैं वसंत 3.2 नकली MVC उपयोग कर रहा हूँ परीक्षण करने के लिए मेरी controller.My कोडनकली MVC -
@Autowired
private Client client;
@RequestMapping(value = "/user", method = RequestMethod.GET)
public String initUserSearchForm(ModelMap modelMap) {
User user = new User();
modelMap.addAttribute("User", user);
return "user";
}
@RequestMapping(value = "/byName", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public
@ResponseBody
String getUserByName(@RequestParam("firstName") String firstName,
@RequestParam("lastName") String lastName, @ModelAttribute("userClientObject") UserClient userClient) {
return client.getUserByName(userClient, firstName, lastName);
}
है परीक्षण करने के लिए अनुरोध पैरामीटर जोड़ें और परीक्षण निम्नलिखित मैं ने लिखा है:
@Test
public void testGetUserByName() throws Exception {
String firstName = "Jack";
String lastName = "s";
this.userClientObject = client.createClient();
mockMvc.perform(get("/byName")
.sessionAttr("userClientObject", this.userClientObject)
.param("firstName", firstName)
.param("lastName", lastName)
).andExpect(status().isOk())
.andExpect(content().contentType("application/json"))
.andExpect(jsonPath("$[0].id").exists())
.andExpect(jsonPath("$[0].fn").value("Marge"));
}
मैं क्या मिलता है
java.lang.AssertionError: Status expected:<200> but was:<400>
at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:60)
at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:89)
at org.springframework.test.web.servlet.result.StatusResultMatchers$5.match(StatusResultMatchers.java:546)
at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:141)
ऐसा क्यों होता है? क्या @RequestParam
भेजने के तरीके से उलझन में आया है, लेकिन मैंने मॉडल एट्रिब्यूट के साथ समस्या है। कृपया http://stackoverflow.com/questions/19427341/why-modelatribute-passed-as-null – gstackoverflow
'और डीओ (प्रिंट()) पर बहुत अच्छी युक्ति पढ़ें, बहुत उपयोगी! –
एक नोट लें, 'प्रिंट() '' MockMvcResultHandlers' वर्ग का एक तरीका है – WildDev