我有一个spring boot rest控制器,它返回一个对象。如下所示:
@RestController
@RequestMapping("books-rest")
public class SimpleBookRestController {
@GetMapping("/{id}", produces = "application/json")
public ResponseEntity<Book> getBook(@PathVariable int id) {
return findBookById(id);
}
}我有一个单元测试来测试这个控制器方法(mockito模拟内部的服务调用)。类似于:
@RunWith(MockitoJUnitRunner.Silent.class)
public class SimpleBookRestControllerTest {
@Autowired
@InjectMocks
private SimpleBookRestController simpleBookRestController;
@Mock
private MyService myservice;现在,我想测试spring对被反序列化为JSON字符串的对象到底做了什么。在我的测试中,我只测试对象,这很好。但是我现在有一个bug,我想在单元测试中看到JSON字符串。
你会怎么做?
发布于 2020-11-11 04:57:59
您需要的不仅仅是一个简单的单元测试-- SimpleBookRestController不处理到JSON的转换,所以您不能只对它进行单元测试。
请参阅本指南:https://spring.io/guides/gs/testing-web/,或查找使用@WebMvcTest的示例,这是一种测试整个web层的方法,包括REST调用及其响应。
https://stackoverflow.com/questions/64773692
复制相似问题