在springalone测试中,@ QuerydslPredicate在standaloneSetup中失败

时间:2015-11-29 19:54:19

标签: java spring-data spring-data-mongodb querydsl spring-rest

我正在使用@QuerydslPredicate,正如今年春季文档中所建议的那样。

QueryDSL web support 当我运行Web应用程序时,Everthing工作正常。但是对于我使用时的测试用例

search: (?:\G(?!^)|A)\K[0-9]
replace: .

我得到例外: -

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)

我的问题是如何在standaloneSetup中完成这项工作?

1 个答案:

答案 0 :(得分:1)

在这种情况下,将有助于下一个解析器: org.springframework.data.web.querydsl.QuerydslPredicateArgumentResolver

注入此解析器:

@Inject
private QuerydslPredicateArgumentResolver querydslPredicateArgumentResolver;

然后将解析器添加到上下文中:

MockMvcBuilders.standaloneSetup(classificationResource)
        .setCustomArgumentResolvers(querydslPredicateArgumentResolver)
        .build();