gpt4 book ai didi

spring-boot - 为单元测试禁用 servlet 过滤器

转载 作者:行者123 更新时间:2023-12-02 16:37:45 25 4
gpt4 key购买 nike

在 Spring Boot 应用程序中,我使用 MockMvc 对 Controller 进行单元测试。我有一个需要针对每个请求运行的 servlet 过滤器,但我想在运行单元测试和通过 MockMvc 发出请求时忽略它。

原因是我的过滤器是一个@Component并且它有另一个bean @Autowired(称之为theBean)并且当单元测试运行其中一些失败,因为如果 theBean 不在上下文中,而其中一些通过,因为 Controller 也使用 theBean

我想要做的是在使用 MockMvc 运行 MVC 测试时禁用 servlet 过滤器,有什么想法吗?

最佳答案

如果您对禁用所有过滤器的选项没问题,那么您可以将参数 addFilters 作为 false 传递给 @AutoConfigureMockMvc。像这样:

@AutoConfigureMockMvc(addFilters = false)
public class ControllerTest {

@Autowired
private MockMvc mockMvc;
}

您可以在此处找到相关文档:

https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/test/autoconfigure/web/servlet/AutoConfigureMockMvc.html#addFilters--

关于spring-boot - 为单元测试禁用 servlet 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62299409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com