【发布时间】:2011-11-18 12:10:39
【问题描述】:
我在我的模型中测试 before_create 回调处于死胡同。
我的规格
# The spec
let(:stamp){ mock_model(CompanyStamp) }
let(:signature){ mock_model(CompanyHandwrittenSignature) }
let(:account) { mock_model(Account, :company_handwritten_signature => signature, :company_stamp => stamp) }
it "should have signature if the account has signature" do
subject.stub :account => account
subject.stub :save => true
subject.company_handwritten_signature.should == signature
end
这是我的模型代码
# the model's code
before_create do |element|
puts "element.account ===> #{element.account.inspect}" # element has no account! wtf!?
element.company_handwritten_signature ||= element.account.company_handwritten_signature
element.company_stamp ||= element.account.company_stamp
true
end
正在调用 before_filter 方法,但在该回调中,account 方法的存根似乎不起作用。 我已经测试过了
subject.account = account结果相同。这是怎么回事?
顺便说一句,我使用的是 rails 2.3 和 rspec-rails 1.3.4
【问题讨论】:
标签: ruby-on-rails ruby callback rspec stubbing