2012-02-06 5 views
2

私はcustom runnerの作成に向けて作業できるように、JUnitの内部を掘り下げたいと思っています。私はEclipse内でJUnitにソースを添付しましたが、それは若干異なるビルドのようです。 EclipseにJUnit用のプラグインを「追加」する方法はありますか?これは、付属のソースのバージョンと同期しますか?プラグインディレクトリにフォルダを作成し、jarファイルを削除してEclipseを再起動した後、ターゲットランタイムを変更するのは簡単ですか?JUnit内部のデバッグ

答えて

3

カスタムランナーを作成してデバッグするには、JUnit、Eclipse JUnitプラグイン、またはEclipseインストールについての混乱を修正する必要はありません。新しいランナーがクラスパス、つまりビルドパスにあることを確認するだけです。

通常、カスタムランナーを作成するには、ParentRunner、通常はBlockJUnit4ClassRunnerに拡張します。使用ParentRunner#runChild(実際にテストを実行する方法)に延びる、一例として以下

public class MyBlockJUnit4ClassRunner extends BlockJUnit4ClassRunner { 
    public MyBlockJUnit4ClassRunner(Class<?> klass) throws InitializationError { 
    super(klass); 
    } 

    @Override 
    protected void runChild(final FrameworkMethod method, RunNotifier notifier) { 
    System.out.println("before"); 
    super.runChild(method, notifier); 
    System.out.println("after"); 
    } 
} 

そして試験:Parameterizedについて

before 
test it 
after 

@RunWith(MyBlockJUnit4ClassRunner.class) 
public class MyRunnerTest { 
    @Test public void testIt() { 
    System.out.println("test it"); 
    } 
} 

これは生成クラスは少し複雑ですが、それほど多くはありません。

+0

これは私が降りたいと思っているラインに沿っていますが、私は内部に通っていなければならないスポットを見たいと思っていました。ドキュメントをトローリングするのがベストな賭けになるだろう。 – Scott

+0

@Scott、私はソース(https://github.com/KentBeck/junit)をクローンしてEclipseにインポートするだけです。既存のEclipseプロジェクトもありますので、Eclipseで既存のプロジェクトをインポートするだけです。 –

関連する問題