如何测试简单的Spring控制器?

时间:2016-11-14 17:17:14

标签: spring testing model-view-controller controller

这就是我的控制器的外观。测试它的目的是什么?如何做?

@Controller 公共类MainController {

@Autowired
private WeatherStateRepositoryDAO weatherStateRepositoryDAO;


@RequestMapping("/")
public String mainPage(Model model) {
    model.addAttribute("list", weatherStateRepositoryDAO.findAll());
    return "index";
}

}

1 个答案:

答案 0 :(得分:0)

关注Spring的入门指南

Spring Web Getting Started Guide

  

怎么做

指南有sample个测试参考,它会回答这个问题。当然这是Hello world,但你明白了。签出greetings测试,确保HTML的内容。

  

测试目标

与每一段代码一样,测试的目标是确保您的代码做正确的事情。

在您的情况下,您正在提供HTML内容,因此您的目标应该是确保适当的行为,包括: -

  1. 资源路径/ URL导致正确的视图。  例如.andExpect(view().name("index")
  2. 正确的属性。  例如.andExpect(model().attribute(
  3. 正确的内容  例如.andExpect(content().string(containsString("Get your greeting")))
  4. 最重要的是边缘情况 如果抛出异常,则会得到200或不同的错误代码。或者返回的对象是什么。