春季测试中的@QuerydslPredicate 在standaloneSetup 中失败
Posted
技术标签:
【中文标题】春季测试中的@QuerydslPredicate 在standaloneSetup 中失败【英文标题】:@QuerydslPredicate in spring test fails in standaloneSetup 【发布时间】:2016-03-03 10:09:00 【问题描述】:我正在使用这里的春季文档中建议的@QuerydslPredicate。
QueryDSL web support 当我运行 Web 应用程序时,一切正常。但是对于我使用的测试用例
MockMvcBuilders.standaloneSetup(classificationResource)
我遇到了异常:-
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.mysema.query.types.Predicate]: Specified class is an interface
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:101)
当我使用 .
加载完整上下文时,一切正常。 MockMvcBuilders.webAppContextSetup(wac).build();
我的问题是如何在standaloneSetup 中进行这项工作?
【问题讨论】:
【参考方案1】:在这种情况下将帮助下一个解析器:org.springframework.data.web.querydsl.QuerydslPredicateArgumentResolver
注入这个解析器:
@Inject
private QuerydslPredicateArgumentResolver querydslPredicateArgumentResolver;
然后将解析器添加到上下文中:
MockMvcBuilders.standaloneSetup(classificationResource)
.setCustomArgumentResolvers(querydslPredicateArgumentResolver)
.build();
【讨论】:
以上是关于春季测试中的@QuerydslPredicate 在standaloneSetup 中失败的主要内容,如果未能解决你的问题,请参考以下文章