gpt4 book ai didi

spring - Junit Mockito with spring - Json 字符串返回的测试用例

转载 作者:行者123 更新时间:2023-12-01 15:24:11 25 4
gpt4 key购买 nike

我正在学习 Junit Mockito,以在 Intellij 中使用 Spring 3.2 测试 spring-mvc Controller 。我的 Controller 是

 @RequestMapping(value = "/user", method = RequestMethod.GET)
public String initUserSearchForm(ModelMap modelMap) {
User user = new User();
modelMap.addAttribute("User", user);
return "linkedInUser";
}

@RequestMapping(value = "/byName", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public
@ResponseBody
String getUserByName(HttpServletRequest request,@ModelAttribute("userClientObject") UserClient userClient) {
String firstName = request.getParameter("firstName");
String lastName = request.getParameter("lastName");
return getUserByName(userClient, firstName, lastName);
}

我所做的是我有一个表单可以按名称搜索用户。 UserClient 对象是一个 session 属性,我试过了为我的 Controller 编写一个 junit 测试用例

 @Test
public void testInitUserSearchForm() throws Exception {
this.liClient = client.createUserClient();
mockMvc.perform(get("/user"))
.andExpect(status().isOk())
.andExpect(view().name("user"))
.andExpect(forwardedUrl("/WEB-INF/pages/user.jsp"));
}

@Test
public void testGeUserByName() throws Exception {
String firstName = "Wills";
String lastName = "Smith";
mockMvc.perform(get("/user-byName"))
.andExpect(status().isOk());

}

如何测试我的 getUserByName 方法以及如何添加 session 属性?请任何人都可以帮助我 为该方法编写带有可能测试的测试用例。提前致谢

最佳答案

嗯嗯。

你可以试试

mockMvc.perform(get("/user-byName").sessionAttr("userClientObject", userClientObject))
.andExpect(status().isOk());

在测试夹具中设置 userClientObject。

什么是“return getUserByName(userClient, firstName, lastName);”到底做什么?如果它不涉及外部依赖,只需在 andExpect(jsonPath()) 子句中断言你的返回。

顺便说一句,我认为它应该是@SessionAttribute。

关于spring - Junit Mockito with spring - Json 字符串返回的测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17789203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com