私はしばらくこれを見ていませんが、正しく思い出せば、antとmavenの両方がユニットテストのためにJUnit 3に依存しています(maven 2.09の時点で、デフォルトのPOMファイルにはまだJUnit 3.81があります)。
最新で最高のものを使用する代わりに、JUnit 3に固執することはまだ意味がありますか?私が行方不明になっているかもしれない正当な理由はありますか?
私はしばらくこれを見ていませんが、正しく思い出せば、antとmavenの両方がユニットテストのためにJUnit 3に依存しています(maven 2.09の時点で、デフォルトのPOMファイルにはまだJUnit 3.81があります)。
最新で最高のものを使用する代わりに、JUnit 3に固執することはまだ意味がありますか?私が行方不明になっているかもしれない正当な理由はありますか?
3.x バージョンに固執する理由がわかりません。ほとんどのツールは、しばらくの間 4.x と互換性があります。私が 3.x に固執する唯一の理由は、Java 1.4 環境にあるためです (他に方法がないため)。
ちなみに、maven は 2.1 で Java 5 に切り替えているため、junit 4.x を提案する可能性があります。
JUnit 4 には、3.x よりも多くの利点があります。最も重要なのは、TestCase を拡張する必要がなくなり、テスト メソッドを「test」で始める必要がなくなったことです。現在はすべて注釈ベースです。また、Hamcrest マッチャーを追加することもできます。これにより、テスト アサーションを記述するための非常に優れた表現力豊かな方法が得られます。
ただし、Java 1.5 より前のプロジェクトに行き詰まっている場合は、JUnit 3.x に固執する必要があるかもしれません。
JUnit 4.x にはいくつかの理由と反対の理由があります。
長所:
短所:
JUnit 4 の方が優れているため、JUnit 4 を使用しますが、それは私の個人的な意見です。
Ant と Maven はどちらも JUnit 4 テストを問題なく実行できます。JUnit 3 を使用する唯一の理由は、レガシー システムです。Java 5 より前の JDK を使用せざるを得ないか、または JUnit 3 に依存し、JUnit 4 をサポートしない広範なツールを使用しています。
Ant は JUnit 3 で応答しません。
新しい JUnit に移行することをお勧めします。単純な理由は、JUnit4 のみのツールやサンプルがますます増えるという単純な理由からです。JUnit3 に固執するということは、縮小するエコシステムに住むことを意味します。
MavenにはJUnit3.81への明示的なバインドはありません。必要な任意のバージョンのjunitに切り替えることができます。Java 5を実行している場合は、少なくとも4.4に切り替える必要があると思います。Spring2.5は4.5と互換性がありません。