【发布时间】:2013-07-29 03:56:42
【问题描述】:
我是 spring 和 junit 的新手。我想使用 mockito 测试我的控制器。我使用 mock-mvc 编写了测试用例 但我的一位前辈告诉我试试 mockito。我在 google 中搜索过,我不知道 mockito 单元测试。
@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(HttpServletRequest request,@ModelAttribute("userClientObject") UserClient userClient) {
String firstName = request.getParameter("firstName");
String lastName = request.getParameter("lastName");
return client.getUserByName(userClient, firstName, lastName);
}
我的 mock-mvc 测试用例是
@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(userClient, firstName, lastName);”吗?实现代码sn-p?
-
我从 jar 中调用了 getUserByName 方法。它是一个单独的 API
-
它是静态方法,因为我没有看到对象引用吗?
-
不,这不是静态方法。我用的是队友的jar文件。
-
没看懂,应该是“someObject.getUserByName()”吧?
标签: spring spring-mvc junit4 mockito