tips/eclipse/plugin開発/JUnit プラグインテスト/プラグインテスト構成の tips のバックアップ(No.1)



JUnit プラグインテスト : プラグインテスト構成の tips

eclipse プラグインを利用したアプリケーションを作成する場合、 プラグイン環境の配下で JUnit テストドライバを起動するため JUnit プラグインテストを用いることになります。
しかし慣れていないと思わぬところでつまづいて、 起動することすらままなりませんでした。

以下、簡単に気をつけるべき点を。。。

テストドライバ クラスが見つからない(ClassNotFoundException が発生)

とりあえず何も考えずにテストドライバクラスのファイル (***Test.java)を選択して JUnit プラグインテストを実行。。。
すると ClassNotFoundException が。 テストドライバのクラスが見つからないとのこと。

プラグインマニフェストエディタでは、 「ランタイム」タブの「エクスポートされるパッケージ」に ちゃんとテストドライバのあるパッケージを指定したのに。

で、いろいろ見てみて気づいたのが。。。
自分の場合、プロジェクトのソースフォルダを

  • src/main/java
  • src/test/java の二つに分けていました。(maven 2.0 のデフォルトにあわせて)。
    そして src/test/java の方はプラグインマニフェストエディタの 「ビルド」->「ランタイム情報」で外部に公開するフォルダに設定していなかったのです。

src/test/java もランタイム情報に追加して再度 JUnit テストを実行してみると、 今度は ClassNotFoundException は発生しません。

ところが。。。

何も実行されず終了する

今度はテストケースがひとつも実行されずに終了してしまいました。
コンソールにも何も表示されません。 (テストドライバで出力するようにしていたログすら表示されない)。

これまたいろいろ調べたのですが一向に原因が分からない。
自分の環境だけで調べてもらちがあかないので、ウェブ上でも検索。 すると、いつもプラグイン開発の参考にさせていただいているきのさいとさんにこんな記述が。

きのさいと:Eclipse/プラグイン開発のTIPS集/GooglePlugin/まずはCoreをつくる

JUnit プラグインテストの手順を順に追っていくと、 必須プラグインに org.junit を追加している。。。

いまいちピンとこないながらも同じように依存関係の必須プラグインに org.junit を追加すると、、、
何事もなかったかのようにテストが無事実行されました!!

org.junit を追加しなければならないなんて、ヘルプにでも書いてあったかな。。。 それにしても、せめて org.junit が必要ならエラーのひとつも出してくれればいいのに。

何も言わずに正常終了するとは。