我遇到了Rspec和ActiveRecord :: Base的問題。我想檢查我的解析器是否正確創建模型實例。重寫ActiveRecord :: Base ==操作符 - 好主意?
我試着將新對象與新對象進行比較,但發現它不起作用。然後我試着保存這些對象,但這也不是一個解決方案 - 因爲如果我也創建了預期的模型實例,那麼ID將會有所不同。
我訴諸覆蓋==運算符,以匹配所有我的領域,沒有ID。儘管如此,我覺得這是一個棘手的解決方案。
解決此問題的正確方法是什麼?
我遇到了Rspec和ActiveRecord :: Base的問題。我想檢查我的解析器是否正確創建模型實例。重寫ActiveRecord :: Base ==操作符 - 好主意?
我試着將新對象與新對象進行比較,但發現它不起作用。然後我試着保存這些對象,但這也不是一個解決方案 - 因爲如果我也創建了預期的模型實例,那麼ID將會有所不同。
我訴諸覆蓋==運算符,以匹配所有我的領域,沒有ID。儘管如此,我覺得這是一個棘手的解決方案。
解決此問題的正確方法是什麼?
就我個人而言,我認爲這是一個壞主意。你如何去測試純粹的平等?
我會寫一個rspec匹配器(稱爲say「matches_attributes」)來比較每個對象屬性列表,如果它們是相同的,則返回true。
看起來這樣的匹配器確實是要走的路。發現這個問題[鏈接](http://stackoverflow.com/questions/4763983/comparing-activerecord-objects-with-rspec)及其答案證明是有幫助的。感謝您的輸入! – Lasooch
@Lasooch這正是你想要的!甜。 –
我的預感是,ActiveRecord內部的大量內容會突然崩潰。 –