Я пытаюсь создать модель, отличную от ActiveRecord, в своем приложении Ruby on Rails в соответствии с http://railscasts.com/episodes/121-non-active-record-model. Однако я испытываю трудности с ее тестированием.
В моем файле 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
Есть указатели?