Groovyのassertがすごく見やすい件について
assert文を使っている人は結構すくないのではないでしょうか?
僕もあまり使っていませんが、やはりインラインで検証できるというのはいいかなと思います。
Groovyを使うようになってからassert文をちょくちょく使うようになったのですが、
Groovyのassert文を実行した際の標準出力が非常に見やすく表示されていて驚きでした。(正確にはassert文がfalseになったときの表示)
assertの例
expectに予想されるxml形式のStringオブジェクト、#convertでListを受け取ってxml形式のStringオブジェクトが返されるような場合。
assert expect.equals(convert(list))
これが評価されたときにassertがfalse、つまりexpectと#convertの結果が異なる場合の標準出力は次のような感じ。
表示のされ方
Caught: Assertion failed: assert expect.equals(convert(list)) | | | | | false | [KeyValue@13e4a47e, KeyValue@7eb5666, KeyValue@6b754699] || value1 |value2 |[KeyValue@76027982, KeyValue@1c778255] |at Main.run(Main.groovy:44) value1 value2 value3-1 value3-2
こんな感じ
なんかカッコいい。というよりは単なるassert文を親切に表示してくれているのがいいですね。
assert文の使い方についてはいろいろ議論があると思うのですが、実際にどう切り分けるかはまた別のおはなし。