Spring 单元测试 RequestContextHolder.getRequestAttributes()).getRequest(); 为空的原因

Posted jeely

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 单元测试 RequestContextHolder.getRequestAttributes()).getRequest(); 为空的原因相关的知识,希望对你有一定的参考价值。

原因是因为单元测试时没有加载 web.xml 中的:

技术图片
    <!-- spring在service层获取session和request需要创建的监听器 -->
    <listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
    </listener>
技术图片

 

所以单元测试时如果需要用到 request 中的值的话,就用静态测试数据测试就好了~

以上是关于Spring 单元测试 RequestContextHolder.getRequestAttributes()).getRequest(); 为空的原因的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Spring + EasyMock做Java单元测试

如何编写单元测试-基于Spring

单元测试与 Spring 的集成测试

Java / Spring:无法在单元测试中测试缓存

Spring学习12-Spring利用mock进行单元测试

Spring Boot中编写单元测试