gpt4 book ai didi

ruby - ActionDispatch::IntegrationTest 中的 stub 方法

转载 作者:数据小太阳 更新时间:2023-10-29 07:00:35 26 4
gpt4 key购买 nike

我正在做一些条纹集成测试,我想 stub /模拟一些端点。我正在尝试这样做:

Stripe::Charge.stubs(:retrieve).returns({:balance_transaction => 40})

但我得到以下信息:

NoMethodError: undefined method `stubs' for Stripe::Charge:Class

stub 的正确语法是什么? Rails 4、Ruby 2。

编辑:这是我的完整测试方法。本质上,我的 payment_succeeded webhook 命中 strip 以检索费用及其相关的余额交易以记录交易费用。我正在使用 stripe_mock 来模拟 webhook 事件,但我宁愿使用标准 stub 技术来 stub 它们的其余部分。请注意,即使我将其更改为“ stub ”,它也会抛出上面相同的错误(用 stub 代替 stub )。

require 'test_helper'
require 'stripe_mock'

class WebhooksTest < ActionDispatch::IntegrationTest
# called before every single test
def setup
StripeMock.start
end

# called after every single test
def teardown
StripeMock.stop
end

test 'invoice.payment_succeeded' do
Stripe::Charge.stubs(:retrieve).returns({:balance_transaction => 40})
event = StripeMock.mock_webhook_event('invoice.payment_succeeded', { :customer => "stripe_customer1", :id => "abc123" })
post '/stripe-events', id: event.id
assert_equal "200", response.code
assert_equal 1, StripeInvoicePayment.count
assert_equal 'abc123', event.data.object.id
end
end

最佳答案

这里唯一对我来说不正确的是.stubs,而它应该是.stub。 .

关于ruby - ActionDispatch::IntegrationTest 中的 stub 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30882575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com