LoginSignup
4
1

More than 3 years have passed since last update.

djUnit pluginに新しいASMを適用した話

Last updated at Posted at 2021-03-15

(2021/04/03) djUnit plugin version 0.9.1を追加しました。

いまさらで恐縮です

いまさらEclipse、しかもdjUnitの話もどうなのかと思いますが、新規開発はないとしても、djUnitで単体テストされているシステムをメンテナンスする場合とか、それを新しいjavaに移行させる場合とか、そういった用途では、今でもdjUnitが必要となる場面があるのかもしれないと思い、新しいEclipseで、新しいjavaでdjUnitが動くよう修正しました。
以前から、ちょいちょい作業していたのですが、やっと公開できるレベルになったので公開します。

機能追加は特になし

これと言った機能追加はしていませんが、まずは新しいEclipseでも動作するようにしたversion0.8.6と、バイトコード処理ライブラリのASMを新しいものに入れ替えたversion0.9.0を公開します。
また、Eclipse 3.7(Indigo) - 4.6(Neon)で動作するものと、4.7(Oxygen)以降で動作するものは、分けて公開しています。

djUnit plugin for Eclipse version 3.7 - 4.6
djUnit plugin for Eclipse version 4.7 - 4.18(2020-12)

djUnit plugin version 0.8.6

このバージョン(0.8.6)は、新しいEclipse(3.7 - 4.18)での動作を可能にしただけのものです。
ASMの入れ替えも行っておりません。

djUnitの設定で、ASM version1.5.3, 2.2.1 または3.1を選択できます。
ASMのjava7対応は4.0 RC1からなので、このバージョンはjava6までは動作し、java7以降の環境ではテストが動作しないことがあります。

djUnit plugin version 0.9.0

このバージョン(0.9.0)は、新しいEclipse(3.7 - 4.18)で動作を可能にしつつ、古いASMを排除し、新しいASMを適用したものです。

djUnitの設定で、ASM version5.2または9.1を選択できます。

ASMバージョン ASMがサポートするjava 動作するJREのバージョン
5.2 java8まで 1.5以上
9.1 java17まで 7以上

以上のように、ASMが新しいjavaをサポートしているので、java8やjava11でのdjUnitテストが実行可能です。

Eclipse4.7からEclEmmaが同梱され「Coverage as」で、EclEmmaでのカバレッジ計測が可能になってますが、「Coverage as」でdjUnitテストの実行はできません。

djUnit plugin version 0.9.1

Java9以降は、AppClassLoaderが、URLClassLoaderを継承しなくなったため、バージョン0.9.0でも、Java9以降のテストが実行できませんでした。
このバージョン(0.9.1)は、AppClassLoaderの問題を解消し、Java9以降でも動作することを確認しました。

また、VsCodeのJava Test RunnerやMavenからも実行できるよう、調整しています。
詳しくは、以下サイトのTipsをご覧ください。
djUnit plugin for Eclipse version 3.7 - 4.6
djUnit plugin for Eclipse version 4.7 - 4.18(2020-12)

最後に

いまは良いMockライブラリがたくさんありますので、これから開発するなら、それらを使うことになると思いますので、あくまでもメンテナンスなどで必要になったら使っていただければと。

最近は、VSCodeのような素晴らしいエディタがあるので、Eclipseの利用は減っていると思います。
ただ当時は、無償のJavaIDEとえばEclipseでした。
私自身もVSCodeを使うようになりましたし、これからはVSCodeで開発しますが、こんな完成度の高いIDEを無償で提供してくれたことには感謝しかありません。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1