複数のテストを含むテストスイートがある場合、コードエディターのコンテキストメニューまたはJUnitビューから単一の単体テストを実行しようとすると、スイート全体を実行するのではなく、常にスイート全体を実行する必要があるようです。単一のテスト。この動作を無効にして、テストを実行するように依頼できるようにする方法はありますか?
回答:
パッケージエクスプローラーでクラスを展開します。すべてのメソッドが表示されます。実行するメソッドを1つ右クリックし、コンテキストメニューから[実行]-> [JUnit]を選択します(Eclipse 3.4.1でテスト済み)。また、JUnit結果ビューの単一のエントリで[実行]を選択してテストを再実行することも同じように機能します。
Eclipse 3.5では、テストランナーをJUnit 3に変更することでこれを回避できます。これは、JUnit4テストではなくJUnit3テストでのみ機能します。次の手順でテストランナーを変更できます。
他のバージョンでも機能する可能性があります。
これは、JUnit4.8.2を使用するEclipseIndigoで可能です。Outline
ペインで個別に単体テストを行う方法を右クリックし、を選択しますRun As -> JUnit Test
。
ソースエディタでテストメソッド名を選択的に右クリックして、を選択することもできますRun As -> Junit Test
。
使用しないでくださいStrg+F11が、ホットキーAlt+ Shift+ X- > T。
次に、Eclipseは現在開いているファイルをJUnitテストとして実行します。緑色の再生ボタンは、最後に選択した実行構成のみを実行します。
私にとって、それがうまく機能しますAlt+ Shift+ X> - T。
単一の単体テスト(メソッド)をデバッグできる、生産性の高いキーボードのみの方法を含めることで、他のユーザーに追加します。
いずれかを使用して、カーソルをメソッド名に移動します
カーソルがメソッド名(またはその直前)にあると:
テストを実行した後、次の手順を実行すると、カーソルがあった場所に戻ることができます。
Alt+Back
次の方法で、REPLのような動作がほぼ得られます。
Ctrl+ Shift+UpとAlt+ Shift+ X- >TとAlt+Back
ブレークポイントをすばやく設定することもできます。
Ctrl+ Shift+B
他の人がEclipse3.4.1とJUnit4テストランナーを使用していたのと同じ問題がありました-単一のテストを実行できませんでした。しかし、私は問題を解決する提案をどこかで見つけました。私のテストクラスはまだjunit.framework.TestCaseを拡張していました。TestCaseの拡張を停止すると、すべてが正常に機能し、JUnit4テストランナーを使用して単一のJUnitテストを実行できました。もちろん、JUnit 4アノテーションでassertメソッドに静的インポートを使用する必要がありましたが、すでにそれを実行していました。TestCaseの継承を削除していませんでした。
私にとっては、以前のリリースでは機能していましたが、Eclipse 3.4.2でも機能しません(パッケージエクスプローラーから単一のメソッドを実行し、junitビューから単一のjunitテストを実行しようとしました)
ここでいくつかのコメントを読むと、作業中のコードに集中することなく、変更したコードのテストを実行することに興味があるようです。それを行うための日食プラグインがあります。infinitestを参照してください。