RSpec、Capybara和Stripe在所需产品字段上失败

RSpec、Capybara和Stripe在所需产品字段上失败,rspec,stripe-payments,rspec-rails,Rspec,Stripe Payments,Rspec Rails,我试图模拟一个与Stripe一起使用的API进程。在应用程序中,一个按钮用于调用Charge API。我在任何在线资源中都没有看到这一点,它们都指向使用PlanAPI。下面运行正常,只是它正在寻找一个必需的产品字段。其他教程(如)根本不包括产品参数。我还尝试使用Stripe中的值和其他硬编码值来模拟它,但它说产品不存在。我曾尝试在plan=语句中的一个或两个语句中处理此问题 context "stripe processor" do let(:stripe_helper) { S

我试图模拟一个与Stripe一起使用的API进程。在应用程序中,一个按钮用于调用Charge API。我在任何在线资源中都没有看到这一点,它们都指向使用PlanAPI。下面运行正常,只是它正在寻找一个必需的产品字段。其他教程(如)根本不包括产品参数。我还尝试使用Stripe中的值和其他硬编码值来模拟它,但它说产品不存在。我曾尝试在plan=语句中的一个或两个语句中处理此问题

context "stripe processor" do
        let(:stripe_helper) { StripeMock.create_test_helper }

        it "creates a stripe plan" do
          plan = stripe_helper.create_plan(:id => 'my_plan', :amount => 1500)

          # The above line replaces the following:
          plan = Stripe::Plan.create(
            :id => 'my_plan',
            :name => 'StripeMock Default Plan ID',
            :amount => 1500,
            :currency => 'usd',
            :interval => 'month'
          )
          expect(plan.id).to eq('my_plan')
          expect(plan.amount).to eq(1500)
        end
    end

请注意,我使用的是gem。感谢所有有想法的人。谢谢。

在较新的API版本中,产品参数指的是产品ID,在创建计划之前,该产品必须存在。看见对于测试,您需要确保在创建计划之前存在给定的产品ID,否则您将看到错误消息

您可以使用stripe ruby mock模拟产品和计划,但它看起来像是在API更改之前构建的,可能需要修改才能在这里正常工作