使用MockitoJUnitRunner运行单元测试时,如何在JSON响应中指定日期格式
我有一个spring引导应用程序,它使用Swagger 2.0从Swagger API定义生成API和模型对象。使用MockitoJUnitRunner运行单元测试时,如何在JSON响应中指定日期格式,json,unit-testing,Json,Unit Testing,我有一个spring引导应用程序,它使用Swagger 2.0从Swagger API定义生成API和模型对象。 我正在使用MockitoJUnitRunner运行一些单元测试。 其中一个API返回一个包含日期字段的对象。 @JsonProperty(“离开日期”) private LocalDate departureDate=null 我在单元测试中尝试在JSON响应中获取预期的日期格式时遇到了一些问题。 我的测试是这样的。 当我使用MockitoJUnitRunner运行测试时
我正在使用MockitoJUnitRunner运行一些单元测试。
其中一个API返回一个包含日期字段的对象。
@JsonProperty(“离开日期”)
private LocalDate departureDate=null代码>
我在单元测试中尝试在JSON响应中获取预期的日期格式时遇到了一些问题。
我的测试是这样的。
当我使用MockitoJUnitRunner运行测试时,有人能告诉我如何获得预期的日期格式吗。谢谢。好的,我从stackoverflow上的另一个线程得到了答案
因此,基本上我需要创建一个MappingJackson2HttpMessageConverter
的实例,并将我的对象映射器设置到这个实例中
然后在设置mockMvc时传递此消息转换器
MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new
MappingJackson2HttpMessageConverter();
mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);
mockMvc = MockMvcBuilders.standaloneSetup(tourApiController)
.setControllerAdvice(new GlobalExceptionHandler())
.setMessageConverters(mappingJackson2HttpMessageConverter)
.build();
这解决了问题
@RunWith(SpringRunner.class)
@WebMvcTest(TourApiController.class)
MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new
MappingJackson2HttpMessageConverter();
mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);
mockMvc = MockMvcBuilders.standaloneSetup(tourApiController)
.setControllerAdvice(new GlobalExceptionHandler())
.setMessageConverters(mappingJackson2HttpMessageConverter)
.build();