如何使用Junit测试弹簧控制器方法

时间:2013-06-20 08:34:51

标签: spring spring-mvc junit junit4 junit3

嗨,我是Spring和Junit的新手。我的控制器中有一个方法。我想为这个方法编写Junit(getPersons())。

@Autowired
private PersonService personService;

@RequestMapping(value="/t2/{yy_id}/person", method=RequestMethod.GET)
@ResponseBody
public PersonInfo[] getPersons() {

    return personService.getPersons();
}

有人可以帮助我并以正确的方式指导我。请举一些例子。

1 个答案:

答案 0 :(得分:9)

您应该使用mvc test framework。它允许您测试所有的mvc基础设施 - 例如@RequestMapping@ResponseBody等... - 除了您自己的合作者外,还在您的控制器周围。

使用框架的一个非常简单的示例是调用getPersons()方法并声明收到200响应代码:

...
@Test
public void getPersons() throws Exception {
    this.mockMvc.perform(get("/t2/1234/person"))
      .andExpect(status().isOk());
}
...

该框架能够提供更多功能,但我建议您阅读文档,其中包含大量示例。我希望有所帮助。