RestTemplate
和它的测试版本有什么区别?当我们通过@ControllerAdvice
进行异常处理时,RestTemplate会抛出异常,但对于相同的流测试版本,它会返回包含异常详细信息的json。
因此,我想看看它们之间差异的摘要。
最佳答案
restTemplate
给您更多的可能性,testRestTemplate
只是restTemplate
的包装器,为您提供了方便的方法,就像您说的那样,它不会引发异常,而是将其包装为json响应,这种行为应由您自己在实际应用程序中实现,但您可能不在乎测试。
这是testRestTemplate
的Javadoc
/**
* Convenient subclass of {@link RestTemplate} that is suitable for integration tests.
* They are fault tolerant, and optionally can carry Basic authentication headers. If
* Apache Http Client 4.3.2 or better is available (recommended) it will be used as the
* client, and by default configured to ignore cookies and redirects.
*
* @author Dave Syer
* @author Phillip Webb
*/
可以通过
ReflectionTestUtils
和ReflectionUtils
找到类似的模式关于Spring TestRestTemplate与RestTemplate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37271272/