2011-07-01 9 views
6

私は、プロジェクト内の成果物が互いにいくつかの依存関係を持つマルチアーティファクトMavenプロジェクトで作業しています。私はIntelliJ 9を使用しています。単体テストでブレークポイントを設定できるようにしたいのですが、ユニットテストフォルダを右クリックして "Debug 'All Tests"を選択すると、別のMavenアーティファクトのクラスを参照する例外が見つかりました。MavenプロジェクトのユニットテストでIntelliJデバッガを実行するにはどうすればよいですか?

私は、親の成果物にMavenの「テスト」目標を実行することができ、うまく動作します。

アイデア?ありがとう。

答えて

1

私は、特定のパッケージの単体テストを実行したかったのです。

IntelliJで新しいJUnit実行/デバッグ設定を作成することで、これを動作させることができました。私は特定のパッケージでテストを実行するように指示し、 "クラスパスとモジュールのJDKを使用する"のために、ルートMavenアーティファクトを選択しました。

9

コマンドラインからMavenを実行すると、デバッガを有効にしてMavenを実行し、リモートデバッガとしてIdeaを接続することができます。それは私が通常それを使用する方法です。

mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE" test 

これは、ポート8000​​へのデバッガの接続を許可し、あなたが実行する前に添付するのを待ちますhttp://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html

を参照してください。

+0

ヒントをありがとう。私はIntelliJのJUnit実行/デバッグ設定を調整することで動作させることができました。 –

+0

私は特定のパッケージの単体テストを実行したいので、これは私にとっては効率的ではないと思っています...すべての単体テストを実行するルートPOMでmvn testを実行する必要があります –

+0

ここで説明するように常に-Dtestを使用します。しかし、アイデアでそれを解決すれば - 素晴らしい! –

関連する問題