Intellijにマルチモジュールプロジェクトがあり、あるサブモジュールのテストソースに、別のサブモジュールで再利用したいキュウリの備品がたくさんあります。他のモジュールを依存関係として追加すると、その通常のouptutディレクトリはjunitクラスパスに追加されますが、テスト出力には追加されません。
intellijにモジュールのテストディレクトリをエクスポートさせ、他のモジュールがそれらを使用できるようにすることは可能ですか?
Intellijにマルチモジュールプロジェクトがあり、あるサブモジュールのテストソースに、別のサブモジュールで再利用したいキュウリの備品がたくさんあります。他のモジュールを依存関係として追加すると、その通常のouptutディレクトリはjunitクラスパスに追加されますが、テスト出力には追加されません。
intellijにモジュールのテストディレクトリをエクスポートさせ、他のモジュールがそれらを使用できるようにすることは可能ですか?
はい、できますが、簡単ではありません。
したがって、Module-AとModule-Bがあります。
Module-Bには、TestClass
おそらく AbstractClass を拡張するか、 Module-A のいくつかの静的ヘルパーを使用する があります
注:これは intellij でのみ機能します。maven または gradle を使用している場合は、これを確認する必要があります。
これがあなたがする必要があることです。
(Ctrl+Alt+Shift+S - win/linux)
C:\dev\projects\myProject\moduleA\build\testclasses
。(Alt+Insert)
、新しいライブラリを入力して追加します (オプションの 2 番)。C:\dev\projects\myProject\moduleA\build\testclasses
] をクリックします。Module-Aのクラスがここにあります。適切な名前を付けて、 LevelオプションをModule Libraryに変更します。Module-A Tests
(Alt+Insert)
、ソースも追加します。テスト src ファイルに移動します。EG:C:\dev\projects\myProject\moduleA\src\test
これを追加すると、ソースも追加されます。
これで、モジュール間でテストの依存関係がリンクされました。
より良い解決策を考えられる場合はお知らせください。これが私が見つけた最も簡単な方法です。
おそらくですが、IDE ではなく、自動ビルド、つまり Maven でこれを行う必要があります。Maven モジュールのテストを別の依存関係 (私が行っていること) として公開する場合、tests jar を他のモジュールの dep として追加できます。もちろん、IDEA はこれを自動的に処理します。
http://maven.apache.org/guides/mini/guide-attached-tests.html