您当前的位置: 首页 >  ui

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

springboot中mockmvc报错:cannot invoke “com.alibaba.druid.support.http.stat.WebAppStat.beforeInvoke()“

梁云亮 发布时间:2022-07-09 11:57:10 ,浏览量:2

错误

在这里插入图片描述

解决方案:

通过查看WebStatFilter源代码发现,有个变量竟然是null,而该变量是在Filter#init()进行赋值的,说明spring boot单元测试没有对Filter进行初始化,但是Filter在请求过程中被执行了,因此抛出了空指针异常。官方给出的文档中对@SpringBootTest注解,有详细的说明,我们可以指定webEnvironment属性,默认是WebEnvironment.MOCK,它是不会对Filter、Servlet进行初始化的,因此我们在使用单元测试的时候要注意了。好在,spring为我们提供了WebEnvironment.RANDOM_PORT、WebEnvironment.DEFINED_PORT,可以自动为我们初始化Filter、Servlet。

具体解决示例如下:

@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureMockMvc
class BrandControllerTest {
}
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0461s