【问题标题】:How to test confguration of static resources in Spring MVC test framework如何在 Spring MVC 测试框架中测试静态资源的配置
【发布时间】:2015-11-14 10:33:42
【问题描述】:

我正在使用 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 配置中的Javascript 和stylesheet 文件是否配置正确?如果找不到文件,预计会出现错误。

【问题讨论】:

    标签: java spring-mvc testing spring-test


    【解决方案1】:

    由于没有 Servlet 容器,因此没有 JSP 渲染,因此无法通过 Spring MVC 测试对其进行测试。

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

    【讨论】:

      猜你喜欢
      • 2012-08-16
      • 2012-12-11
      • 2019-03-25
      • 2018-03-02
      • 1970-01-01
      • 2013-07-27
      • 1970-01-01
      • 2016-03-11
      • 1970-01-01
      相关资源
      最近更新 更多