[英]Why is this MockMvc test failing?
This is the Controller I have: 这是我拥有的控制器:
@Controller
@EnableWebMvc
@RequestMapping(value = "/spittles")
public class SpittleController {
SpittleRepository spittleRepository;
@RequestMapping(method = RequestMethod.GET)
public String getSpittles(Model model) {
model.addAttribute(spittleRepository.findSpittles(10, 10));
return "spittles";
}
@Autowired
public void setSpittleRepository(SpittleRepository spittleRepository) {
this.spittleRepository = spittleRepository;
}
}
and the View I have (spittles) : 和我的观点(点点滴滴) :
<c:forEach items="${spittleList}" var="spittle">
${spittle.message}
</c:forEach>
which works fine.. 效果很好..
However this test fails: 但是此测试失败:
SpittleController spittleController = new SpittleController();
spittleController.setSpittleRepository(mockRepository);
MockMvc mockMvc = MockMvcBuilders.standaloneSetup(spittleController)
.setSingleView(new InternalResourceView("/WEB-INF/views/spittles.jsp")).build();
mockMvc.perform(get("/spittles"))
.andExpect(view().name("spittles"))
.andExpect(model().attributeExists("spittleList"));
with the message: 消息:
java.lang.AssertionError: Model attribute 'spittleList' does not exist
But in the jsp, it looks like the model has the attribute spittleList , what am I missing? 但是在jsp中,看起来该模型具有spittleList属性,我缺少了什么?
指定名称后,是否仍然出现问题?
model.addAttribute("spittleList", spittleRepository.findSpittles(10, 10));
Hi You can take help of expect to mock your service, look as below: 嗨,您可以期望可以模拟您的服务,如下所示:
expect(spittleRepository.findSpittles(10, 10)).andReturn(EXPECTED OUTPUT) Expect(spittleRepository.findSpittles(10,10))。andReturn(期望输出)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.