いくつかのテストをJavaからKotlinに変換しています。Javaテストでは、非常に強力でアサーションのセットが豊富なAssertJライブラリを使用しています。私の問題はKotlinテストの場合、AssertJとKotlin JUnitを使用できません(org.jetbrains.kotlin:kotlin-test-junit
)アサーションのセットは非常に限られています。
AssertJに相当するKotlinまたはアサートのより良い方法はありますか?
Kluentライブラリ が見つかりましたが、これが使用するのに最適なライブラリかどうかはまだわかりません。
公式に相当するものはありませんが、基本的なAssertJはまだ多くの場合に使用可能であり、非常に見栄えがします。
assertThat(info)
.containsKey("foo")
assertThatThrownBy { session.restTemplate.postForLocation("foo", {}) }
.isExactlyInstanceOf(HttpClientErrorException::class.Java)
専用のラッパーが必要な場合、この初期段階のプロジェクトはこれを達成しようとしています: https://github.com/wuan/assertj-core-kotlin
アサーションライブラリを検索しなくなった可能性がありますが、現在の選択にまだ満足していない場合は、 https://github.com/robstoll/atrium をご覧ください。
特に以下をサポートします。
高度なアサーションビルダー、i18nのサポートなどのより高度な機能もあります。
READMEの例で概要がわかります: https://github.com/robstoll/atrium/blob/master/README.md#examples