在未实例化的控制器中可分页

时间:2016-09-16 19:56:35

标签: spring testing

我有一个带控制器的spring-boot应用程序,它使用Pageable作为其方法之一的参数。它工作正常。但我想使用spring-contract-verifier来生成和执行测试。 测试的基类如下所示:

public class MvcTest {

    @Before
    public void setup() {
        RestAssuredMockMvc.standaloneSetup(new Controller());
    }
}

我得到的例外是:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.domain.Pageable]: Specified class is an interface
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:99)

我搜索了SO,我发现我应该添加

@EnableSpringDataWebSupport

到我的配置类。我创建了一个类:

@Configuration
@EnableWebMvc
@EnableSpringDataWebSupport
public class WebConfig {
}

但是,我不知道如何告诉合同验证者将此类拉入配置。 感谢

1 个答案:

答案 0 :(得分:4)

错误的可分页:使用org.springframework.data.domain.Pageable代替java.awt.print.Pageable

您需要启用

 @EnableSpringDataWebSupport

 <bean class="org.springframework.data.web.config.SpringDataWebConfiguration" />

@see:http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#core.web