大家好,我正在尝试让Rspec测试操作是否在我拥有的模型中调用了特定方法,该模型继承自ActiveMailer但没有运气。因此,作为一个快速的模型,我有以下情形。型号UserNotifier:
class UserNotifier < ActionMailer::Base
def foobaz
end
end
控制器密码控制器:
class PasswordsController < ApplicationController
def foobar
UserNotifier.foobaz
end
和规格:
describe "GET 'foobar'" do
it "should call the UserNotifier foobaz method" do
UserNotifier.should_receive(:foobaz)
get :foobar
end
end
但是我总是以失败告终:
1) PasswordsController GET 'foobar' should call the UserNotifier foobaz method
Failure/Error: UserNotifier.should_receive(:foobaz)
(<UserNotifier (class)>).foobaz(any args)
expected: 1 time
received: 0 times
谁能启发我为什么RSpec没有注册UserNotifier.foobaz方法正在被调用?
最佳答案
在Ryan Bigg的评论中回答。最终是一个before_filter,导致该方法永远无法运行