如何防止Rspec在运行测试时触发短信?我只希望通过IRB发送短信。
这是从运行send_sms方法的测试中获得的消息:
<Twilio::REST::Message @path=/2010-04-01/Accounts/AC818.....a16c/Messages/SM8....6cd>
以下是#send_sms
方法:
def send_sms
@account_sid = 'AC818...16c'
@auth_token = 'c128...431'
@from_number = '+44...18'
@to_number = '+44...31'
@client = Twilio::REST::Client.new(@account_sid, @auth_token)
@account = @client.account
@sms = @account.messages.create(
from: @from_number,
to: @to_number,
body: "Thank you! Your order was placed and will be delivered."
)
p @sms
end
答案 0 :(得分:4)
如果没有看到您的规范,很难告诉您要更改的内容,但是您需要存根/模拟send_sms
方法,因此会调用假方法。
rspec-mocks
宝石就是这些宝石的所在地,文档就在那个链接上。
基本上,你会做类似的事情:
let(:something) { no_clue_what_you_have }
before do
expect(something).to receive(:send_sms)
end
it 'sends an SMS message' do
something.again_we_have_no_idea_what_you_are_doing
end
在寻求帮助时,最好提供尽可能多的代码!但希望这能指出你正确的方向。