Posted at

Kotlin + JUnit + Hamcrestの `is` が可愛くない

More than 3 years have passed since last update.

みなさんKotlin使ってますか?

ことりん良いですよね、可愛いですよね。

最近、Androidアプリ開発で使っていて気に入っているのですが、一つ残念なことがあります。

JUnit + Hamcrestのassertが可愛くないのです。

assertThat(1 + 1, `is`(2))

isが予約語になっているせいで、``で括らないといけません。

これは酷い・・・。

Hamcrestを捨ててAssertJを使えば、可愛いことりんが帰ってきます。

assertThat(1 + 1).isEqualTo(2)

Kotlin云々を抜きにしても、AssertJを使うとIDEの補完が効いてくれるので捗ります。

あと、AssertJのSoftAssertionsを使うと、値の検証結果がNGでも他の検証を続行してくれるので便利です。

他にも色々と便利な機能がありますので、Javaな方々にもお勧めです。

SoftAssertions().apply {

assertThat(1 + 1).isEqualTo(1)
assertThat(1 + 1).isEqualTo(2)
assertThat(1 + 1).isEqualTo(3)
}.assertAll()