美文网首页
Spring+SpringMVC+Mybatis Web集成单元

Spring+SpringMVC+Mybatis Web集成单元

作者: 红烧清蒸 | 来源:发表于2018-07-27 00:22 被阅读0次

    主要是记录对Controller层进行单元测试的过程中遇到的问题

    问题1:运行测试用例报错

    java.lang.IllegalStateException: Failed to load ApplicationContext

    如图1:

    图1

    原因:缺少注解@WebAppConfiguration,声明集成测试环境使用的ApplicationContext将是WebApplicationContext类型

    问题2:运行测试用例报错

    java.lang.ClassNotFoundException: javax.servlet.ServletContext

    如图2:

    图2

    原因:缺少了servlet-api.jar,加上即可以,但是需要注意版本问题,由于我使用的spring4,导入的servlet-api的版本是2.5的,导致报错:

    java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfig

    这是因为Spring4 与servlet2.5兼容性问题造成的,Spring4需要使用servlet3.0以上的版本



    测试用例实现

    图3

    mockMvc.perform():是模拟一个request请求

    andExpect:定义断言,可以附加多个定义期望值,上图中是判断返回的状态码是否为200

    andReturn:直接显示所有返回结果

    图3代码中的get,andExpect,status(),print(),都是来源于3个静态引用:

    import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;

    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

    import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.*;


    参考:

    https://blog.csdn.net/qianjiangqi/article/details/51087014

    http://jinnianshilongnian.iteye.com/blog/2004660

    相关文章

      网友评论

          本文标题:Spring+SpringMVC+Mybatis Web集成单元

          本文链接:https://www.haomeiwen.com/subject/nspimftx.html