テストを書くときは、個別に実行したいと思います。 Howver、デフォルトのEclipse Java BuilderからMavenに切り替えたので、これはもう不可能です。観察:私はJUnitテストソースファイルを開き、ツールバーからRun as | JUnit test
を選択することができEclipseでMavenを使ってJUnit4テストを1回実行する
今日まで。 Mavenに移行する前に、Eclipseは必要に応じて単体テストを作成しました。
以前にテストを明示的にコンパイルしていない場合は、Mavenから
ClassNotFoundException
が得られます。 POMを選択してRun as | Maven test
を実行すると、私はこれを回避できます。これによりテストがコンパイルされ、すべてのテストが実行されます。ユニットテストをもう一度選択し、ツールバーから
Run as | JUnit test
を選択すると、テストが実行されます。
これはあまりにも不便なので、私は "古い"動作を取り戻したいと思います。これは構成上の問題に過ぎないと思います。
私は
- を持っているがRunning a single test in Eclipseを読んで、それはMavenをせずに問題を説明しています。基本的には、期待される振る舞いは私が以前に持っていたものです。
- Running JUnit tests with Maven under Eclipseは私が現在持っているものです。確信があり、POMを選択するときにすべてのテストを実行できます。
- 私Surefire version is 2.18
- 私は、Eclipseからではなく、コマンドラインからテストを実行したいので
- Running a single test in Maven - No tests were executedは、適用されない(それは以前にはなかった)デフォルトのMavenのレイアウトに私のプロジェクトのディレクトリ構造を変換します。
- [x]はautmatically
- 未解決約 Surefire arguments
私が今まで与えている読んで停止し
どのように効率的なレッドグリーンリファクタリングを実行できますか?つまり、1回のテストごとに実行構成を追加しないで一度に1つのユニットテストのみを実行しますか?
一般にこれも可能です。私はあなたのMavenとEclipseの統合に関する設定上の問題があると思います。両方(MavenとEclipse)で同じターゲットディレクトリ(.classファイルが格納されている場所)を使用していますか? – Jan
@Jan:Javaビルドファイルでは、「デフォルト出力フォルダ」が/ target/classesに設定されています。/target/test-classesを指す単体テスト(src/test/java)を除いて、ソースフォルダはそこを指しています(/ src/main/java、/ src/main/resources)。 –
私のPOMでは、特定のディレクトリ名を削除しているので、/ target/classesと/ target/test-classesにもビルドされています。 –