Spring mvc Spring MVC拦截器测试

Spring mvc Spring MVC拦截器测试,spring-mvc,interceptor,Spring Mvc,Interceptor,我有一个WebRequestInterceptor的实现来处理视图中的公共数据,因此我不需要在每个控制器中编写它。代码如下 public class CommonDataInterceptor implements WebRequestInterceptor{ @Autowired private BookService bookService; @Override public void preHandle(WebRequest wr) throws Exc

我有一个WebRequestInterceptor的实现来处理视图中的公共数据,因此我不需要在每个控制器中编写它。代码如下

public class CommonDataInterceptor implements WebRequestInterceptor{

    @Autowired
    private BookService bookService;

    @Override
    public void preHandle(WebRequest wr) throws Exception {
    }

    @Override
    public void postHandle(WebRequest wr, ModelMap model) throws Exception {
        model.addAttribute("randomBooks", bookService.findRandom());
    }

    @Override
    public void afterCompletion(WebRequest wr, Exception excptn) throws Exception {
    }

}

问题是如何测试“randomBooks”中是否包含一些书籍。我知道如何使用mock测试controller中的属性,但在interceptor中我还不知道

您创建了一个interceptor实例,注入了一个mock BookService,在调用FindAndom()时告诉mock service返回一些books,然后在interceptor上调用postHandle(),然后检查作为参数传递的模型现在是否包含randomBooks属性下的书籍。问题在哪里?谢谢你,问题解决了