Ruby/Railsの新機能です。 foo
が定義されている場合(すなわち、nil
でない場合)に、Test :: Unitメソッドassert_not_nil foo
が真であるようです。右?assert_not_nil foo == assertは定義されていますか? Rubyのテスト::ユニットのfoo?
はassert defined? foo
に相当しますか?
そうでない場合、どのように違いますか?もしそうなら、私はこれらのうちの1つを他のものよりも好む理由がありますか? assert
はassert_equal
とassert_not
などのような、より専門的なアサーションメソッドの代わりに他の式と組み合わせることができるように
は、たぶん、より一般的に、それはそうです。しかし、特殊な方法がより標準的な慣行であると思われます。そうですか?何故ですか?
非常に有益な答え、ありがとう。 – globewalldesk
もし 'foo = nil'なら' assert defined? 'の間に 'assert_not_nil foo'は' false'ですか? foo'は 'true'です。右? – globewalldesk
それは正しいです。 – crazymykl