[Java] JUnit を 実行可能jar ファイルに含めない方法

 Javaアプリケーションで、JUnitを使ってテストケースを作っている場合、プロジェクトにテストモジュールも組み込まれているかと思います。
 ネットの情報を見ながら色々やってみましたが、うまくいかず試行錯誤してたらうまくできたので、忘れないように備忘録を。

環境

  • macOS Big Sur (11.5)
  • Eclipse 2021-06 (4.20.0)
  • JavaSE-9
  • JUnit 5

実現すること

EclipseでJavaプロジェクトをエクスポートして実行可能jarファイルを作成したときに、テストモジュールとJUnitのライブラリを含めないようにします。

方法

1. ソースフォルダを追加

これは、ほとんどのプロジェクトで実施済みかもしれませんが、ソースフォルダを追加してテストモジュールは、こちらに固めます。
<Project>
- src                ソースファイル
- test/src         テストモジュールのソースファイル


2. ビルドパスを修正

2.1 ソース

ソースフォルダ test/src の「テスト・ソースを含む」を「はい」に変更します。
「ソース・フォルダーごとに出力フォルダーの指定を可能にする」にチェックを入れて、出力フォルダのパスを変更しておきます。




2.2 ライブラリー

JUnitをクラスパスに追加(モジュールパスに追加している場合は移動させる)します。
JUnitの設定で、「テスト・ソースに対してのみ表示」を「はい」に変更します。




3. 実行/デバック設定

3.1 起動構成プロパティの依存関係





「テストコードを除外する」にチェックを入れます。


4. エクスポート

あとは、実行可能jarファイルでエクスポートします。
出力したjarファイルを展開して内容を確認したところ、JUnitとテストモジュールは含まれていません。



最後に

いろいろ試して実現できたわけですが、エクスポートには起動構成プロパティの設定が効いているような気がします。
Java初心者なので詳しいことは分かりませんが・・・(汗


コメント

このブログの人気の投稿

[Music] DTM初心者のためのドラム打ち込み その2

[Swift] StoryBoardを使用しない - UITextFieldで編集不可にする方法

[Swift] UISliderをカスタマイズしてみる