如何使用junit测试@RestController的@RequestBody?

时间:2017-11-08 15:32:28

标签: java spring spring-mvc junit spring-test

我想为我的<script src="{{ asset('path/to/js.js') }}"></script> 之一编写一个简单的测试,并断言输入@RestController已正确映射到@RequestBody

PersonDTO

问题:如何向该servlet发送@RestController public class PersonServlet { @PostMapping("/person") public PersonRsp find(@RequestBody PersonDTO dto) { //business logic } } public class PersonDTO { private String firstname, lastname; } 请求正文。更多的是检查JSON字段,它们都已正确设置?

它可能与此相似,但我不知道如何检查/侦察已解析的DTO?

PersonDTO

@Duplicate marker:这不是链接问题的重复(关于如何读取响应正文字符串)。我实际上要求请求正文测试。

1 个答案:

答案 0 :(得分:2)

测试Json到DTO的反序列化并不是你的Controller的责任,你将测试底层的对象映射器,它是一个外部库(Jackson,Gson ...... ??)

不确定使用哪个库但是如果要测试它的用法,则需要以与应用程序框架类似的方式手动构造适当的对象映射器,并使用其api从Json String串行化到目标DTO