Spring MockMVC,Spring安全性和Mockito

Spring MockMVC,Spring安全性和Mockito,第1张

Spring MockMVC,Spring安全性和Mockito

默认情况下,集成会查找名称为“
springSecurityFilterChain”的bean。在提供示例中,使用的是独立安装程序,这意味着

MockMvc
将不会
WebApplicationContext
在测试中知道所提供的内容,因此将无法查找“
springSecurityFilterChain” bean。

解决此问题的最简单方法是使用如下代码:

    MockMvc mockMvc = MockMvcBuilders // replace standaloneSetup with line below .webAppContextSetup(wac) .alwaysDo(print()) .apply(SecurityMockMvcConfigurers.springSecurity()) .build();

如果您真的想使用standaloneSetup(因为已经有了WebApplicationContext并没有什么意义),则可以使用以下命令显式提供springSecurityFilterChain:

@AutowiredFilterChainProxy springSecurityFilterChain;@Beforepublic void startMocks(){    controller = wac.getBean(RecipesController.class);    MockMvc mockMvc = MockMvcBuilders .standaloneSetup(controller) .alwaysDo(print()) .apply(SecurityMockMvcConfigurers.springSecurity(springSecurityFilterChain)) .build();    MockitoAnnotations.initMocks(this);}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5629989.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存