2

我有一点问题。我正在尝试针对 Recurly API 进行开发,但我似乎找不到任何方法来使用测试帐户或测试网关以及实时和运行的 Recurly 帐户。

似乎他们唯一能做的就是在我运行测试时破坏我们的网站。它似乎不太可能设计得那么糟糕,但我找不到这样做的方法。还有其他人有解决方案吗?

4

3 回答 3

4

我们通常建议创建一个仅用于开发和测试的第二个站点。然后正如@atif 建议的那样,您可以使用单独的 API 密钥进行测试和开发,而不必担心影响您的生产站点。这种方法的一个缺点是您需要重新创建您在测试中使用的任何计划和优惠券。

您可能需要不同级别的测试。您将需要一些实际上与我们的服务器集成、创建帐户、进行订阅等的测试,您不经常运行这些测试,因为它们会更慢。对于您的大多数测试,我会尝试遵循 @ryan1234 的建议并使用 stub/mock/fixtures 来处理远程请求。这将使测试速度更快。

于 2013-12-31T18:25:30.933 回答
2

我会在您的代码和 Recurly API 调用之间创建一个接口。

所以逻辑会这样:

应用程序代码 -> 接口 -> 循环 API 调用。

那么测试的步骤将是这样的:

  1. 对 Recurly 进行一两次安全的真实 HTTP 调用。
  2. 将 (1) 的 HTTP 请求输出记录到文件/字符串中。
  3. 用虚拟接口替换接口的实时实现。
  4. 让虚拟接口将 (2) 中的数据与运行测试时生成的数据进行比较。
  5. 如果通过虚拟接口的数据符合您的预期,那么您很好!

关键点是真正的集成测试可能是不可能的,但可以测试您是否在自己这边生成了正确的请求。

然后,只要他们的 API 保持不变,您就可以快速准确地进行测试,而无需走线。

于 2013-11-26T15:06:15.673 回答
0

如果您的应用程序中有recurly helper 文件,请仅更新他的recurly 帮助文件,在测试时使用reculy 的开发api 密钥,当您希望站点作为实时站点工作时,然后再次分别更新到生产环境。

于 2013-11-25T05:55:52.117 回答