典型的な ActiveRecord モデルを考えると、before_save
入力を解析するコールバックがよくあります。たとえばtime_string
、ユーザーからのようなものを取得してtime
フィールドに解析します。
そのセットアップは次のようになります。
before_save :parse_time
attr_writer :time_string
private
def parse_time
time = Chronic.parse(time_string) if time_string
end
コールバック メソッドを非公開にすることがベスト プラクティスと見なされていることを理解しています。ただし、プライベートの場合は、個別に呼び出して個別にテストすることはできません。
では、経験豊富な Rails テスターの皆さんは、この種のテストをどのように処理していますか?