在单元测试中禁用servlet过滤器

问题描述 投票:0回答:1

在Spring Boot应用程序中,我正在使用以下方法对控制器进行单元测试 MockMvc. 我有一个需要为每个请求运行的servlet过滤器,但我想在运行单元测试和通过 MockMvc.

原因是我的过滤器是一个 @Component 它还有一颗豆子 @Autowired 谓之 theBean),当单元测试运行时,有些测试失败了,因为如果 theBean 并不在上下文中,其中有一些是通过的,因为控制器也使用了 theBean

我想做的是在运行MVC测试时,使用以下方法禁用servlet过滤器 MockMvc,任何想法?

spring-boot spring-mvc servlet-filters
1个回答
1
投票

你可以为你的过滤器类使用条件Bean表达式。

`@ConditionalOnProperty(name = "spring.profile.test", matchIfMissing = true)`

在属性文件中把spring.profile.test设置为true。

© www.soinside.com 2019 - 2024. All rights reserved.