0
比方說,我有兩個型號,其中一個需要其他的存在來驗證:Rails進行測試的最佳實踐,當一個ActiveRecord的模型需要另一
class Mother < ActiveRecord::Base
has_many :kids
end
class Kid < ActiveRecord::Base
belongs_to :mother
validates_presence_of :mother
end
當我寫模型小子試驗,我想要測試的第一件事是,如果沒有一個存在的母親(即,存在於數據庫中),則不能保存孩子。然而,要做到這一點,我需要先讓我的測試創建一個母親。
處理這種情況的最佳方法是什麼?我應該:
- 在我測試之前將測試數據庫與母體的實例結合起來?
- 在Kid進行測試之前,依靠母親創建母親實例的單元測試?在這種情況下,我必須指定不推薦的測試順序,是否正確?
- 其他一些選項?
既不,您應該做任何您的測試框架提供。固定裝置或工廠。你應該不**編寫依賴於其他測試的測試,實際上這不應該發生,因爲你的數據庫應該在測試之間清空。 – meagar
@meagar我認爲這應該是公認的答案 - 無論是固定裝置還是工廠。你能否再次回覆作爲答案,以便我可以接受它? –