Javascript 如何为Stripe'编写测试;s'RateLimitError'和'StripePermissionError'错误?

Javascript 如何为Stripe'编写测试;s'RateLimitError'和'StripePermissionError'错误?,javascript,testing,stripe-payments,rate-limiting,Javascript,Testing,Stripe Payments,Rate Limiting,如何在服务器的js Stripe测试中测试Stripe的RateLimitError和StripePermissionError?。最好的方法是什么 我希望在Stripe中找到一些东西,比如如何使用tok_ChargeDecedded来模拟拒绝收费。不幸的是,我似乎找不到任何东西,在谷歌上搜索这个问题的结果也很有限 使用Nock,它将让您拦截http请求,并模拟特定的响应。查找stripe SDK中的方法调用的特定端点,然后提供与stripe匹配的错误响应。这将为您的测试提供良好的基础。直接从S

如何在服务器的js Stripe测试中测试Stripe的
RateLimitError
StripePermissionError
?。最好的方法是什么


我希望在Stripe中找到一些东西,比如如何使用
tok_ChargeDecedded
来模拟拒绝收费。不幸的是,我似乎找不到任何东西,在谷歌上搜索这个问题的结果也很有限

使用Nock,它将让您拦截http请求,并模拟特定的响应。查找stripe SDK中的方法调用的特定端点,然后提供与stripe匹配的错误响应。这将为您的测试提供良好的基础。

直接从Stripe的支持:

  • RateLimitError
    -没有预定义的令牌可用于测试该特定错误代码。很少有人能达到我们的利率上限。但是,如果您仍然希望安全起见(或者达到100%的代码覆盖率),可以使用nock之类的库模拟429http响应

  • StripePermissionError
    -您可以通过在Stripe仪表板中创建具有有限权限的测试API密钥来模拟此操作。在左侧面板“开发者”部分下的“API密钥”中,您将找到“受限密钥”部分。在这里,您可以创建一个只能访问费用的密钥。然后,当您尝试使用新的测试密钥创建客户时,您将收到一个403 HTTP错误响应,并显示一条错误消息

示例403错误:

{
  error: {
    message: "The provided key 'rk_test_123' does not have the required permissions for this endpoint on account 'acct_123'. Having the 'rak_customer_write' permission would allow this request to continue.",
    type: "invalid_request_error"
  }
}

这是测试速率限制的现场。我最终得到了Stripe的支持,他们也建议了Nock。谢谢