我正在学习集成测试一个与 rest API 通信的 Spring 应用程序。我从这篇文章中发现,弹簧测试支持两种方法,我假设的是同一件事。
- 使用
MockRestServiceServer
创建模拟服务器 - 使用
Mockito
创建模拟对象
我知道前者拦截http请求;然后返回对象,而后者直接返回对象,根本不打扰任何http请求。因为最后,至少在大多数情况下,我们只是验证检索到的对象并将其与预期结果进行比较。
所以,我的问题;如果尝试比较:
-
什么是可能的权衡;如果我选择其中任何一个?
-
选择一个比另一个有什么优势吗?
-
对于哪种情况,我更喜欢一种情况(可能(每个用例(?
Mockito模拟了restTemplate的所有内部部分,并直接返回对方法的响应。
MockRestServiceServer 允许 restTemplate 在 httpClient 调用之前运行所有内容。
这意味着您将使用MockRestServiceServer测试错误处理,映射等。