繁体   English   中英

如何在Spring MVC测试框架中测试静态资源的配置

[英]How to test confguration of static resources in Spring MVC test framework

我正在使用Spring MVC测试框架对Spring控制器进行集成测试。 以下是我的Controller及其当前使用的Test的代码。

@RequestMapping("/login")
public ModelAndView goLogin(){
    ModelAndView mv = new ModelAndView("login");
    mv.addObject("loginForm", new loginForm());
    return mv;
}

@Test
public void goLoginPage() throws Exception{
    this.mockMvc.perform(get("/login")).andExpect(status().isOk())
    .andExpect(forwardedUrl("/WEB-INF/template/default.jsp"))
    .andExpect(model().attribute("loginForm", any(loginForm.class)));   
}

我正在使用Apache Tiles作为视图框架。 以下是loginForm页面的布局配置代码。

<definition name="login" template="/WEB-INF/template/default.jsp">
    <put-attribute name="title" value="Login - Spring Web Testing"></put-attribute>
    <put-attribute name="header" value="/WEB-INF/tile/header.jsp"></put-attribute>
    <put-attribute name="body" value="/WEB-INF/tile/login_body.jsp"></put-attribute>
    <put-list-attribute name="javascripts">
        <add-attribute value="/static/script/jquery-2.1.4.js"></add-attribute>
    </put-list-attribute>
    <put-list-attribute name="stylesheets">
        <add-attribute value="/static/style/general.css" />
    </put-list-attribute>
</definition>

如何测试Apache Tiles配置中的Javascriptstylesheet文件是否正确配置? 如果没有找到文件,则可能会出现错误。

由于没有Servlet容器,因此没有JSP呈现,因此无法通过Spring MVC Test进行测试。

也就是说,您仍然可以使用Spring MVC Test来测试所有控制器逻辑,并通过创建一个完整的集成测试(运行实际的Servlet容器)来单独验证Tiles配置,该测试将每个页面渲染一次,并检查所有预期部分是否已完全渲染。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM