1
的屬性測試默認值這裏是我的測試:RSpec的 - 如何利用回調
require 'spec_helper'
describe League do
it 'should default weekly to false' do
league = Factory.create(:league, :weekly => nil)
league.weekly.should == false
end
end
end
這是我的模型:
class League < ActiveRecord::Base
validates :weekly, :inclusion => { :in => [true, false] }
before_create :default_values
protected
def default_values
self.weekly ||= false
end
end
當我運行我的測試,我得到以下錯誤信息:
Failure/Error: league = Factory.create(:league, :weekly => nil)
ActiveRecord::RecordInvalid:
Validation failed: Weekly is not included in the list
我已經嘗試了幾種不同的方法來試圖創建一個聯賽紀錄,並觸發回調,但我還沒有一個你好運。有沒有關於使用RSpec測試回調的問題?
驗證在before_create被觸發前在模型上運行,這就是爲什麼我得到錯誤。我決定走這條路線:http://stackoverflow.com/questions/6715468/attr-accessor-default-values/8775320#8775320。現在所有的作品。 – keruilin 2012-01-13 02:53:55