- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设我有一些 FooInterceptor
:
public class FooInterceptor extends HandlerInterceptorAdapter {
// ...
}
在上下文中配置:
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="my.package.FooInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
我正在为某个 Controller 创建集成测试:
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = "/context.xml")
@ActiveProfiles("test")
public class SomeControllerIT {
@Autowired
private WebApplicationContext webApplicationContext;
private MockMvc mockMvc;
@Before
public void setup() {
mockMvc = MockMvcBuilders
.webAppContextSetup(webApplicationContext)
.apply(springSecurity())
.build();
}
...
}
我试图通过创建自定义配置来模拟它:
@Configuration
static class Config {
@Bean
@Primary
public FooInterceptor getFooInterceptor() {
return mock(FooInterceptor.class);
}
}
但在我看来它并没有起作用。实际的 FooInterceptor
仍在生成并参与测试。
如何正确模拟它?
最佳答案
您可以按照 Luana FM 在上一个答案中的建议进行以下操作。此外,您还需要一行模拟代码,以在 @BeforeEach
block 中将拦截器的响应返回为 true。
@BeforeEach
public void before() {
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders
.standaloneSetup(controller)
.addInterceptors(interceptor)
.build();
when(interceptor.preHandle(Mockito.any(), Mockito.any(), Mockito.any())).thenReturn(true);
}
关于java - 如何在集成测试中模拟 Spring HandlerInterceptorAdapter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49474778/
请帮助 Spring MVC 新手。我很难做 HandlerInterceptorAdapter工作。 这是代码和配置文件。 mvc-dispatcher-servlet.xml:
之前的设计 我有一个如下构建的 Spring Controller : @RequestMapping(value = "/rest/funf/{datatype}", method = Reques
我正在尝试为我的 JSON 网络服务创建一个验证系统。这个想法是让一个拦截器捕获每个 Json @RequestBody,通过 JacksonMapping 用它创建一个 JSON 对象。然后从中读取
假设我有一些 FooInterceptor: public class FooInterceptor extends HandlerInterceptorAdapter { // ... } 在
可以使用 Zuul 配置添加 HandlerInterceptorAdapter。我需要拦截对特定资源的请求,但我想因为我有 Zuul 过滤器配置,所以拦截器永远不会被调用。 可以这样做吗? 最佳答案
我有一个扩展HandlerInterceptorAdapter的类: public class AreaRiservataInterceptorAdapter extends HandlerInter
我的 Spring MVC Web 应用程序在页面顶部有一个导航菜单,其中包含指向项目列表的链接。从数据库中检索项目列表。此菜单对应用程序中的所有页面都是通用的。目前,在每个 Controller 中
我目前有两个处理类似功能的拦截器。我想合并这些。 一个拦截器是一个访问请求记录器,它显示登录的用户、 session ID 和请求的 URL。 另一个拦截器是进程时间记录器。 访问记录器为了记录所有必
我试图将正文从 request.getReader() 中拉出来,但它已经被读取了。 我怎样才能得到拦截器中的请求体? 最佳答案 如您所说,请求正文只能从Reader 中读取一次。这不是特定于拦截器,
目前我正在从 Jersey 迁移到 Spring MVC,需要提供相同的行为和功能。 在以前的情况下,我们有一个 Jersey ContainerRequestFilter 来注册 Prometheu
我创建了一个自定义 HandlerInterceptorAdapter覆盖 postHandle方法: public class AcmeInterceptor extends HandlerInte
我正在尝试将授权 header 添加到我的请求中,作为我们在切换环境时的临时解决方法。我正在尝试在扩展 HandlerInterceptorAdapter 的拦截器中处理它。 我使用了 Mutable
这个问题在这里已经有了答案: Why is my Spring @Autowired field null? (21 个回答) 关闭8年前。 我在尝试 @Autowire 我的 @Service 时遇
我正在开发 Spring Web 服务。我想测试我的端点,但由于某种原因,我在运行测试时总是遇到以下异常: Caused by: org.springframework.beans.factory.N
我正在尝试记录(为了简单起见,现在只是为了控制台编写)将由 HttpServletResponse 返回的最终呈现的 HTML。 (即主体)为此,我使用 Spring MVC 中的 HandlerIn
在我的 Spring Boot 应用程序中,我试图在 afterCompletion() 中的响应中添加 header 我的方法HandlerInterceptorAdapter类。 Controll
我想在 session 超时时执行一些 Activity ,我使用了 HandlerInterceptorAdapter,如下所示 package com.practice.security; imp
我正在尝试记录(为了简单起见,现在只是为了控制台编写)将由 HttpServletResponse 返回的最终呈现的 HTML。 (即主体)为此,我使用 Spring MVC 中的 HandlerIn
经过长时间调试我的应用程序后,我发现了一些对我来说毫无意义的东西。每当我调用如下例所示注释的 Controller 时,我的拦截器就会执行两次。 @RequestMapping(method = Re
我有将 JSON 返回给客户端的 Controller 。 Controller 方法使用 mvc 注释进行标记,例如: @RequestMapping("/delete.me") public @R
我是一名优秀的程序员,十分优秀!