web-dev-qa-db-ja.com

AssertJライブラリに相当するKotlinはありますか?

いくつかのテストをJavaからKotlinに変換しています。Javaテストでは、非常に強力でアサーションのセットが豊富なAssertJライブラリを使用しています。私の問題はKotlinテストの場合、AssertJとKotlin JUnitを使用できません(org.jetbrains.kotlin:kotlin-test-junit)アサーションのセットは非常に限られています。

AssertJに相当するKotlinまたはアサートのより良い方法はありますか?

Kluentライブラリ が見つかりましたが、これが使用するのに最適なライブラリかどうかはまだわかりません。

13
Mario Kutlev

公式に相当するものはありませんが、基本的なAssertJはまだ多くの場合に使用可能であり、非常に見栄えがします。

assertThat(info)
  .containsKey("foo")


assertThatThrownBy { session.restTemplate.postForLocation("foo", {}) }
  .isExactlyInstanceOf(HttpClientErrorException::class.Java)

専用のラッパーが必要な場合、この初期段階のプロジェクトはこれを達成しようとしています: https://github.com/wuan/assertj-core-kotlin

9

アサーションライブラリを検索しなくなった可能性がありますが、現在の選択にまだ満足していない場合は、 https://github.com/robstoll/atrium をご覧ください。

特に以下をサポートします。

  • アサーショングループ
  • null許容型のアサーション関数
  • プロパティアサーション
  • メソッドアサーション
  • throwableがスローされたと仮定します

高度なアサーションビルダー、i18nのサポートなどのより高度な機能もあります。

READMEの例で概要がわかります: https://github.com/robstoll/atrium/blob/master/README.md#examples

5
Robert Stoll