【发布时间】:2019-05-05 15:47:38
【问题描述】:
响应实体应该返回一个新的 ResponseEntity,其 http 状态为 OK/200。然而,在我的测试过程中它返回为 null 我可以看到它被设置为 null 但不明白为什么甚至如何。我确信这是我错过的一件简单的事情,但只是看不到它。
从图片中可以看出,create var 为 null,但是,Mockitio 应该将其设置为 createBlogPostResponse1,所以我不确定为什么要设置 null。
感谢您提供这方面的任何信息和帮助。
测试
public static ResponseEntity createBlogPostResponse1 = new ResponseEntity(HttpStatus.OK);
@Test
public void createNewBlogPost() throws Exception {
String url = TestHelper.URL + "/blogPost/createNewBlogPost";
when(postService.createNewBlogPost(blogPost1)).thenReturn(TestHelper.createBlogPostResponse1);
mockMvc.perform(post(url)
.contentType(MediaType.APPLICATION_JSON_UTF8)
.content(TestHelper.asJsonString(blogPost1)))
.andExpect(status().isOk())
.andReturn();
verify(postService, times(1)).createNewBlogPost(blogPost1);
verifyNoMoreInteractions(postService);
}
控制器
ResponseEntity create = postService.createNewBlogPost(cleanBlogPost);
服务
@Override
public ResponseEntity createNewBlogPost(BlogPost createNewBlogPost) {
return new ResponseEntity(HttpStatus.OK);
}
【问题讨论】:
标签: java spring model-view-controller mockito