Kotlin
JUnit
hamcrest
assertj

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

More than 1 year has 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()