将mock注入InterceptorHandler

时间:2017-08-04 01:22:07

标签: spring spring-test spring-test-mvc springmockito

我试图在InterceptorHandler中注入一个模拟器,但我可以配置它。

我有一个像这样的拦截器:

public class MyInterceptor extends HandlerInterceptorAdapter{

    @Autowired
    private Service service;

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {

        // ... 
        service.findOne(...);
    }

}

我的测试看起来像这样:

protected MockMvc mockMvc;

@MockBean
protected Service service;

...

when(service.findOne(anyString()))
    .thenReturn(null);
mockMvc.perform(put("somepath")
    .andExpect(status().isOk());

拦截器工作正常,但是当我调试时,我看到拦截器中的服务为空,所以我想知道是否有办法模拟服务?

感谢您提前。

1 个答案:

答案 0 :(得分:0)

您如何为测试课程注释?您可能需要将测试类注释为可管理对象,以便构建模拟服务