gpt4 book ai didi

testing - rspec 模拟外部 api

转载 作者:行者123 更新时间:2023-11-28 19:50:56 24 4
gpt4 key购买 nike

这里是 TDD 的新手,哦!

这是我要测试的内容(ruby library),简而言之:

 account = Twilio::RestAccount.new(ACCOUNT_SID, ACCOUNT_TOKEN)
resp = account.request(
"/#{API_VERSION}/Accounts/#{ACCOUNT_SID}/SMS/Messages",
'POST',
smsInfo
)

下面是测试代码尝试:

describe Text do
it "should call the Twilio API with credentials" do
#pending "mocking api although not passed in.."
t = mock(Twilio::RestAccount)
twapi = mock("new twapi").should_receive(:request).and_return(Net::HTTPSuccess)
t.stub(:new).and_return(twapi)

Twilio::RestAccount.should_receive(:new)

sms = Factory.create(:boring_sms)
sms.send_sms
end
end

产生错误:undefined method `request' for nil:NilClass

我采取的方法是否正确?谢谢!

最佳答案

有了 Twilio 和其他外部服务,我也考虑使用 VCR。 http://relishapp.com/myronmarston/vcr

好处是您可以通过手动测试让它工作一次,它基本上可以验证您没有搞砸任何事情。不利之处在于,无论何时您接触 VCR 测试的代码,您通常都必须手动重新测试 VCR 测试过的所有内容。还有其他需要考虑的事情。

关于testing - rspec 模拟外部 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6726024/

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