【发布时间】:2011-05-30 10:26:51
【问题描述】:
我正在尝试根据http://railscasts.com/episodes/121-non-active-record-model 在我的 Ruby on Rails 应用程序中创建一个非 ActiveRecord 模型。不过,我很难对其进行测试。
我的app/models/sms.rb 文件中有以下课程。
class Sms
def initialize
# Do stuff here
end
def deliver
# Do some stuff here
end
end
我无法在我的 Sms 类上模拟交付方法。
it 'should do someting' do
@sms = mock(Sms)
@sms.should_receive(:deliver).and_return(true)
post :create, :user_id => @user.id
flash[:notice].should == "SMS sent successfully."
response.should redirect_to(some_url)
end
在我的控制器代码中,我确实有一行写着@sms.deliver。然而上面给出了以下错误:
Failure/Error: @sms.should_receive(:deliver).and_return(true)
(Mock Sms).deliver(any args)
expected: 1 time
received: 0 times
任何指针?
【问题讨论】:
标签: ruby-on-rails ruby unit-testing rspec rspec2