我認爲早該是很整潔,但我不明白的是爲什麼有些宏的存在,如:shoulda的一些宏有什麼意義?
should_validate_uniqueness_of :title
should_validate_presence_of :body, :message => /wtf/
should_validate_presence_of :title
should_validate_numericality_of :user_id
我對測試比較陌生,但這些服務的目的是什麼?它們幾乎是模型中發生的相同驗證的精確鏡像。例如,你進入你的模型並寫validates_uniqueness_of :title
,然後寫一個測試,說should_validate_uniqueness_of :title
你完成了什麼?
然後,當某個白癡刪除了標題唯一性並且違約時,測試會失敗,然後你就會知道它被破壞了(或者合約被破壞了,在這種情況下,調用它的任何函數都可能需要更改)。 – Brian 2010-03-29 16:57:14