テストを使用してEclipseビルドをデバッグしたい。 [実行]> [デバッグ構成]> [Mavenビルド]で実行しようとしました。ベースディレクトリには、pom.xmlファイルが格納されたMavenリポジトリディレクトリがあり、目標は「クリーンインストール」です。 [デバッグ]をクリックすると、Eclipseはビルドを開始し、テストを実行しますが、ブレークポイントで停止しません。
私が見つける最も簡単な方法は:
プロジェクトを右クリック
デバッグ-> Mavenビルド...
目標フィールドに-Dmaven.surefire.debug testを入力します
パラメーターに、forkCountという名前の新しいパラメーターをの値で配置します(以前はforkMode = neverでしたが、廃止されて機能しなくなりました)
ブレークポイントを設定してこの構成を実行すると、ブレークポイントに到達するはずです。
maven 2.0.8+を使用している場合、非常に簡単です。コンソールからmvndebugを実行し、Remove Debug Java Application with port 8000。
使用している実行/デバッグ構成は、Eclipseを終了せずにコマンドラインからMavenをワークスペースで実行できるようにすることを目的としています。
テストがJUnitベースであると仮定すると、右ボタンでテストを含むソースフォルダーを選択し、Debug as...
-> JUnit tests
。
問題:EclipseとMavenで使用されるライブラリの順序により、EclipseとMavenでのユニットテスト結果が同じではありません。私の場合、テストはmavenで成功しましたが、Eclipseを使用してユニットテストをデバッグしたいので、Eclipseでユニットテストクラスをデバッグしてmavenを実行する最も簡単な方法は次のとおりです:
1)mvn -Dtest = MySuperClassTest -Dmaven.surefire.debug test ==> 5005ポート(デフォルトのポート)をリッスンします
2)Eclipseに移動し、デバッグ構成を開き、新しいJavaリモートアプリケーションを追加し、ポートを5005に変更してデバッグします
3)もちろん、デバッグしたいクラスのどこかにブレークポイントを追加する必要があります