如何模拟复杂的api响应对象

时间:2020-03-06 10:33:48

标签: testing mocking braintree

我正在使用Braintree SDK来实现PayPal服务器端付款。 为了考虑在提交付款(例如,付款被拒等)时的所有情况,我想使用API​​类“ Braintree_Gateway”的模拟实例编写测试。 该API的响应是大量嵌套且相当复杂的对象。

对于模拟这些响应,我看到两个选项:

  1. 捕获一个真实的响应对象,对其进行序列化,然后将其从内存中加载以进行测试
  2. 通过实例化Response类自己创建和嵌套对象

还有我尚未考虑的第三种方法吗?

数字1的优点是,我针对API实际返回的对象进行测试,这意味着我针对“真实的东西”进行了测试。设置起来也很迅速

数字2的优点是,在我的测试中,对象的结构更加暴露,因此可以更好地说明每种情况下响应的外观。缺点是设置繁琐且维护乏味。

考虑到测试的可维护性和完整性,正确的做法是什么?

0 个答案:

没有答案
相关问题