JUnitのassertThatのいいところ

JUnitでのテストでは、古くは次のように書いてました。

assertEquals("期待値", "実際の値");

で、比較の種類だけassertXxxがあるわけです。


最近だと

assertThat("実際の値", is("期待値"));

のようにも書けます。


別にどっちでもええやん、とか思ってたのですけど、最近はassertThatのほうを使うようになりました。


というのも、assertEqualsを使おうとすると、補完で結構下まで移動する必要があったのです。


これがassertThatなら、次のようなstatic importにしておけば「as」で補完しても最初にassertThatが出てきます。

import static org.junit.Assert.assertThat;


CoreMatchersも次のようにimportしておく必要がありますが、「is」とかは補完するまでもないのでここに候補がいっぱいあっても問題なしです。

import static org.hamcrest.CoreMatchers.*;


assertThatを使うと、さまざまな判定が可能になるので、その意味でもassertThatを使ったほうがいいと思います。assertThatのMatcherの使い方は、「JUnit実践入門」に解説があります。
この本は、Java開発者なら必ず目を通しておくべき本なので、読みましょう。

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)