開発が止まった後、使用FEST-Assertして移動しました。AssertJ
最近、別のアサーション ライブラリ( http://google.github.io/truth/ ) を含むGoogleリポジトリを指摘されました。Truth
例を読んでも、それを使い始める利点が見つかりませんAssertJ。ですから、何を使うかは好みの問題です。しかし、多分私は要点を逃しましたね?
開発が止まった後、使用FEST-Assertして移動しました。AssertJ
最近、別のアサーション ライブラリ( http://google.github.io/truth/ ) を含むGoogleリポジトリを指摘されました。Truth
例を読んでも、それを使い始める利点が見つかりませんAssertJ。ですから、何を使うかは好みの問題です。しかし、多分私は要点を逃しましたね?
GitHubでのコメントの 1 つから:
核となる違いは、Truth の設計には拡張性の 2 つの特定の領域 (命題の失敗に対する戦略の領域) が含まれていることです。これにより、Integers の「サブジェクト」または Strings のサブジェクトを完全に異なる結果のコンテキストで再利用できます。失敗のために。注目すべき例は、JUnit の AssertionError の使用とそれの AssumptionViolationException の違いです。Truth では、両方に同じ命題クラスを使用できます。
柔軟性のもう 1 つの領域は、競合する可能性のある静的メソッドをインポートするように宣言することなく、新しいアサーション/命題タイプを作成し、それらをフックする機能です。これは、新しい型 (protobuf の追加など) や、既存の型の新しい使用 (Uris として扱われる文字列など) に使用できます。これが assertAbout() 機能です。
それ以外は、Truth は AssertJ と非常によく似ています。FEST に触発されており、AssertJ はその 2.0 開発ラインのフォークです。
要約すると、Truth はもう少し拡張性と柔軟性が高くなるように設計されていますが、AssertJ は標準型のアサーションには優れています (おそらく最も優れています)。