Spring MVC:如何通过返回String的控制器方法对模型的属性进行单元测试?
问题内容:
例如,
package com.spring.app;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(final Model model) {
model.addAttribute("msg", "SUCCESS");
return "hello";
}
}
我想model
通过home()
使用JUnit
来测试的属性及其值。我可以更改返回类型以ModelAndView
使其成为可能,但我想使用String
它,因为它更简单。虽然不是必须的。
无论如何,有model
没有更改home()
返回类型的检查?还是无济于事?
问题答案:
您可以使用Spring MVC Test:
mockMvc.perform(get("/"))
.andExpect(status().isOk())
.andExpect(model().attribute("msg", equalTo("SUCCESS"))) //or your condition
而在这里充分说明例子