0
給定一個模型的方法self.fetch_payment_method
:成株:找到一個模型類
def self.fetch_payment_method
name = "Omnikassa"
pm = Spree::PaymentMethod.find(:first, :conditions => [ "lower(name) = ?", name.downcase ]) || raise(ActiveRecord::RecordNotFound)
end
而且一個RSpec測試,測試這一點:
it 'should find a payment_method' do
Spree::PaymentMethod.new(:name => "Omnikassa").save
@omnikassa.class.fetch_payment_method.should be_a_kind_of(Spree::PaymentMethod)
end
我想改善這一點,所以它不測試整個堆棧和數據庫。爲此,我只想在類Spree::PaymentMethod
上調用「:find」。但是:
it 'should find a payment_method' do
Spree::PaymentMethod.any_instance.stub(:find).and_return(Spree::PaymentMethod.new)
@omnikassa.class.fetch_payment_method.should be_a_kind_of(Spree::PaymentMethod)
end
不起作用。我對整個BDD/TDD事物都比較陌生,對我來說,殘留和嘲弄對我來說仍然是不可思議的。所以我很可能誤解了樁和返回正在做什麼。
我應該如何爲SomeActiveRecordModel.find存根?