assert_false
TestUnit には、RUnit と違って assert_false(boolean, message=nil) アサーションがない。なので assertアサーションの中で否定演算子を書くことになってなんかやだった。
というわけで、railsアプリケーションの、test\test_helper.rb ファイルに次のように追加する。もっと大元のどこかに追加したいような気もするけど、今はまあこの辺で。
# Add more helper methods to be used by all tests here... def assert_false(boolean, message) assert !boolean, message end # def assert_false(boolean, message=nil)
最初は次のようにしていた。
def assert_false(boolean, message=nil, &block) assert !boolean, message, &block end # def assert_false(boolean, message=nil, &block)
実際にブロックを与えたときの挙動(assert が Failure を挙げる)にて、メッセージ「assert should not be called with a block.」の主語まですり替わる訳じゃないので、返って分かりにくくなるかと思って普通に2引数の前者にした。
2008/2/7追記
コメントもしたけど、いずれにしても Failure時のメッセージが良くないです。assertメソッドの出すメッセージになるので逆転しちゃいます。
また項目改めて、その辺なんとかしましょう。