私はいくつかのコールバックとテストしたいカスタムバリデーションを持つActiveRecordモデルを持っています。つまり、私はすべてを公開させなければならないということです。これは良い習慣であるか、この場合にはよりよい解決策ですか?私がテストしたいメソッドのRuby on Rails:すべてのActiveRecordコールバックメソッドをプライベートにする必要がありますか?
例:つまり
def before_validation
original.edit(self) if original
end
validate :unique?, on: :create
def unique?
return true if original.blank?
errors.add(:base, 'The entry already exists')
false
end
:
- 私は「before_validation」メソッドをテストしたい場合は、私はそれを公開するとtest_objectを呼び出す必要があります.before_validationは私のモデルのRspecファイルに直接ありますか?
- 検証する際にユニークなカスタム検証メソッド(?)が呼び出されるだけでなく、メソッド自体もユニークな(?)パブリックも作成する必要がありますか?
問題は、これらの方法のどちらも私のモデルの外で使用していない(したがって、彼らはプライベートにする必要があります)が、どのように公開しないとテストできますか?