0
我在測試以下內容時遇到問題。創建對象時,會分配狀態「待定」。該狀態實際上是活躍的記錄關聯。所以它看起來像這樣RSpec - 測試是否設置了活動記錄關聯
def object
belongs_to :object_status
end
def object_status
has_many :objects
def self.pending
find_by_name('pending')
end
end
然後在控制器中創建它這樣做
@object = Object.new(params[:object])
@object.object_status = ObjectStatus.pending
@object.save
在RSpec的我想測試,以確保對象具有掛起的,所以我做這個的狀態在我objects_controller_spec:
post :create, :object => @attr # I'm using pre-defined attributes
p = Object.last
p.object_status_id.should eq(Factory(:object_status_pending).id)
RSpec的測試失敗,出現以下(16工廠對象的id): 預計16 了無 出於某種原因,它不檢索object_status_id的值。如果我運行我的開發服務器中的代碼,數據庫中的對象具有正確設置的object_status_id,所以我知道代碼通過了測試。我有這個我無法弄清楚的多個實例。
謝謝