assertRegExp
via http://www02.so-net.ne.jp/~greentea/pre.html
assertRegExpなんていう名前がどうやったら作れるか不思議だ。結局、ユニット・テストは分かってても、その底にある精神というものまでは理解してないってことなんだろう。
ちょっと考え込んだのち、納得。
assertメソッド群を日本語に訳してみると
- assertTrue → trueであること!
- assertFalse → falseであること!
- assertEquals → イコールであること!
となる。じゃあ、assertRegExpはどうなるかというと
- assertRegExp → 正規表現であること?
あれ? 確認したいのは「引数で渡された値が正規表現であること」じゃないよね、メソッド名がメソッドの意図を表してないんじゃないの?。そーゆーことなのです。
assertTrue(/c.*a/ =~ "chikuwa") ↓ assertRegExp(/c.*a/, "chikuwa") ↓ 正規表現であること!(/c.*a/, "chikuwa") // ?????