私はJUnitを使用しませんが、異なるライブラリの2つのインポートされたソースコードを持ち、どちらもJUnitを使用しています。しかし、彼らは別のバージョンを使用しているようです。JUnitの異なるバージョンに依存するソースコードを扱う方法
たとえば、junit.runner...
のようなものをインポートし、もう1つはorg.junit.runners...
をインポートします。
JUnitのマニュアルを少し読んだところ、彼らは厳密な下位互換性の原則に従わず、異なるバージョンのものは明らかに異なる機能を持ち、異なるコードを必要とするため、「アップグレードする"私の図書館の1つは、最新のバージョンです。
どのようにこの非互換性を処理しますか? (ちょうど半分傾いているすべてのテストを投げ捨てる以外に)
私はJUnitが下位互換性についてかなり良いと感じていました。実際にクラスパスに最新のバージョンのみを置き、問題が発生しているかどうかを確認しましたか? – VGR
@NathanHughes私はバンドルされたjarではなく、ソースコードを使用しています。私は同じ名前の "junit.jar"という2つの異なるファイルを同じフォルダ(私のlibフォルダ)に入れることはできません。今、私はjunit.jar libをソースコードの1つのセットだけで動作させますが、他のセットはコンパイルに失敗しています。 jarit3.jarとjunit4.jarと言うと、2つの異なるjarが同じパッケージ構造を公開していると、名前の競合に問題が生じる可能性があります。 –