どちらの呼び出しでも、モデルが無効であることを確認します。
機能的な違いはありますか?2つの間に一般的なベストプラクティスはありますか?
どちらの呼び出しでも、モデルが無効であることを確認します。
機能的な違いはありますか?2つの間に一般的なベストプラクティスはありますか?
rspecbe_...
マッチャーに魔法はありません。マッチャが rspec で定義されていない場合は、メソッド名の後be_
に?
符号が付いているものを呼び出すだけです。したがって、「activerecord/lib/active_record/validations.rb」で定義されたbe_valid
メソッドを呼び出し、「be_invalid」は「activemodel/lib/active_model/validations.rb」で定義されたメソッドを呼び出します。後者のソースコードは次のとおりです。valid?
invalid?
def invalid?(context = nil)
!valid?(context)
end
したがって、答えはおそらくノーだと思います。
私が認識している機能的な違いはありません。
「ベスト プラクティス」は、仕様を考慮して、最も読みやすく伝達しやすいものを使用することです。
開発者のための単なる「アイシング」:) 同じ:
flag = true
if not flag
...
end
unless flag
...
end