4
AssertJ assertThatにカスタムメッセージを追加できますか?
主にHamcrestマッチャーでJUnitアサーションを使用するテストスイートがあります。私たちのチームの1人は、AssertJの実験を開始し、その構文、柔軟性、および宣言型性で人々に感銘を与えました。JUnitが提供する、AssertJに相当するものが見つからない機能が1つあります。それは、カスタムのアサート失敗メッセージを追加することです。 人間が読みやすいように作成されておらず、ランダムに見えるIDまたはUUIDを持つオブジェクトを比較することがよくあり、それらに含まれるデータによってそれらが何であるかを判断することは不可能です。悲しいことに、これはコードベースにとって避けられない状況です。コードベースが果たす目的の一部は、必ずしもそれが何であるかを理解せずに、他のサービス間でデータをマッピングすることです。 JUnitでは、assertThatメソッドはString reasonパラメーターの前にパラメーターを持つバージョンを提供しますMatcher<T>。これにより、人間にとっての比較の意味など、問題に光を当てる短いデバッグ文字列を追加するのは簡単です。 一方、AssertJは、何らかの形式のインターフェイスAssertまたはその多くの実装クラスの1つを返す無数の異なる汎用static assertThatメソッドを提供します。このインターフェースは、失敗に含まれるカスタムメッセージを設定する標準的な方法を提供しません。 メッセージを追加するすべてのアサーションタイプに対してカスタムアサーションクラスを作成せずに、AssertJ APIまたはその拡張機能の1つからこの機能を取得する方法はありますか?