« WindowsでSelenium RC + Rspec | トップページ | vimで特定のファイルの特定行に飛ぶ »

2009年6月19日 (金)

rake specが warning: useless use of == in void context

rspecのitの中で最後の文以外でsholud == を使うと 
warning: useless use of == in void context
のWarningが出力される。 

==が返すtrue,falseを使用していないよ、=と間違っている
んじゃない?というrubyの文法チェッカーの警告だと思われる。

別にWarningだけで、テストには影響ないのでいいのだが、ちょっと気持ち悪い。
気にしたいWarningを見落とすかもしれないし、できれば出力しないようにしたい。

should eqlだと上記warningがでないことを発見!
厳密に言うと==とeqlは再定義を行えば、違う可能性もあるけど、そうなることなんて
ほとんどないだろうから、これからは
should eql
で行こう!

|

« WindowsでSelenium RC + Rspec | トップページ | vimで特定のファイルの特定行に飛ぶ »

ruby」カテゴリの記事

コメント

はじめまして。

わたしは、

xxxx.should == pppp and
xxxx.should == qqqq

のように最後以外の末尾に and を書く、というのを試しています。

and は、演算子の優先順位的に最低レベルなので、きっと問題ないはず……

投稿: さく | 2009年6月24日 (水) 19時14分

コメントありがとうございます。
useless use of ==で検索した時にさくさんのandの記述を見つけてました。
andだと最初のマッチャーの失敗しか表示できないのではと思ってたらそもそもandでつなげなくても最初のマッチャーの失敗しか表示しないんですね。
もし厳密に==を使わなければいけない場合は、andでつなくのはいいアイデアだと思います。
ただ、andを重ねて書いていくのがちょっとめんどくさいかなと感じて使っていませんでしが、どっちも知ってると使い分けができそうです。
ありがとうございました。

投稿: takeshy | 2009年6月24日 (水) 19時44分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/68673/45384560

この記事へのトラックバック一覧です: rake specが warning: useless use of == in void context:

« WindowsでSelenium RC + Rspec | トップページ | vimで特定のファイルの特定行に飛ぶ »