1前書き


AssertJ

は、Javaに流暢なアサーションを提供するライブラリです。あなたはそれについての詳細を読むことができます

ここ

そして

ここ

最近、3.6.0バージョンが2つの小さなバグ修正リリース3.6.1と3.6.2とともにリリースされました。

今日、ライブラリの作成者であるhttps://github.com/joel-costigliola[Joel Costigliola] – 私たちと一緒にいて、リリースと将来の計画についてもう少し詳しく説明します。


























































































































「私たちはhttp://joel-costigliola.github.io/assertj/[AssertJ]本当にコミュニティ志向にしようとしています」














































































































__


2バージョン2.6.0と3.6.0はほぼ同時にリリースされました. それらの違いは何ですか?

2.xバージョンはJava 7をターゲットにし、3.xはJava 8をターゲットにしています。これを確認するもう1つの方法は、3.x = 2.x Java 8固有の機能です。


3 3.6.0/2.6.0で現れた最も注目すべき変更/追加は何ですか?

2.6.0では、小さな機能は異なりましたが、大きな機能はありませんでした。私が選択しなければならなかった場合、最も興味深いものは、想定される例外に関するものです。 –


hasSuppresedException()





hasNoSuppresedExceptions()

3.6.0では、array/iterable/mapエントリ要素の倍数アサーションをチェックする方法が追加されました。


4. 3.6.0のリリース以降、2つのバグ修正リリースが登場しました(3.6.1、3.6.2). あなたは私たちにそこで何が起こったのか、そして何を修正する必要があるのか​​もう少し教えてもらえますか?

3.6.1では、

filteredOn(Predicate)



List

でのみ動作していましたが__Iterableではありませんでした。

3.6.2では、Java 8のデフォルトのgetterメソッドからプロパティを抽出することは考えていませんでしたが、内部のリファクタリングをしてもそのままでは動作しないことがわかりました。

私はユーザーに次のリリースを待つことができるかどうか尋ねました、バグレポーターは彼が待っても大丈夫だと私に言いました、しかし、私は新しいバージョンをリリースしました。

私たちはhttp://joel-costigliola.github.io/assertj/[AssertJ]を本当にコミュニティ志向の

にしようとしています、なぜならリリースをカットするのは安いからです(ドキュメンテーションの部分を除いて)私は通常問題を見ません解放します。

** 5. 最新のリリースに取り組むとき、あなたは何か興味深い技術的課題に遭遇しましたか?

私は数週間以内に出るはずである次のリリース3.7.0での作業に遭遇した問題を指摘するつもりです。

Java 8は「あいまいな」メソッドシグネチャについてはうるさいです。

ThrowingCallable

(例外をスローする

Callable

である単純なクラス)を受け取る新しいassertThatメソッドを追加しました。Java8では、

Iterable!を取る別の

assertThat__メソッドと混同されることがわかりました。

この2つの間にあいまいさが見られないので、これは私にとって最も驚きました。


6. もうすぐ新しいメジャーリリースを計画していますか? Java 9の追加機能を利用するものは何ですか?

次の週に/一ヶ月。 ** 私たちは通常、数ヶ月に1回、または大きな追加があるときにリリースするようにしています。

AssertJチームに参加したPascal Schumacherは、互換性をチェックするためにJava 9に関するいくつかの作業を行っていますが、いくつかの作業ではうまくいきません。私たちがすることは、3.x vs 2.xと同じ戦略に従って、Java 9に焦点を当てた4.xブランチを開始することです。4x= 3.xのJava 9の機能があります。

  • 4.0が正式にリリースされれば、2.xの積極的な開発をやめるでしょう** が、3つのバージョンを同期させることはできないので、PRを受け入れ続けるでしょう。 xバージョンなので、2.xに何かを追加するには3.xと4.xの両方で報告する必要があり、それは現時点ではやり過ぎです。