Spring MVC测试:设置Jackson默认视图包含

时间:2015-11-03 23:24:42

标签: spring-mvc spring-boot jackson

我试图设置杰克逊映射器属性"默认视图包含"在我的Spring MVC测试中是真的。根据{{​​3}},我在application.properties文件中有这个:

spring.jackson.mapper.default-view-inclusion=true

这在我运行我的应用程序时有效,但在我运行测试时则无效。对我的测试来说,最好的方法是什么?

更新

我尝试过的一种方法是在测试中包含我的配置文件。

@ContextConfiguration(classes = MyTest.Config.class, initializers = ConfigFileApplicationContextInitializer.class) 

我可以在日志中看到这会加载我的application.properties,但它似乎没有任何效果。

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

    @Before
public void setup(){
    MockitoAnnotations.initMocks(this);
    this.mockMvc = standaloneSetup(translationsRessource)
        .setControllerAdvice(new ControllerExceptionHandler())
        .setMessageConverters(jacksonMessageConverter())
        .build();
}

private MappingJackson2HttpMessageConverter jacksonMessageConverter() {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.configure(MapperFeature.DEFAULT_VIEW_INCLUSION, true);
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    converter.setObjectMapper(objectMapper);
    return converter;
}