7

現在、ユニットのカスタム JUnit ランナー (各テスト メソッドの前後にカスタム コードを正確に呼び出す) を作成しています。

class MyRunner extends BlockJUnit4ClassRunner {

    private MyApi api = new MyApi();

    public MyRunner(Class<?> klass) throws InitializationError {
        super(klass);
    }

    // todo

}

ただし、 や などの他のランナーをサポートしたいMockitoJunitRunnerのでSpringRunner、車輪を再発明する代わりに、次のようにランナーを使用したいと思います (カスタムMyConfigアノテーションを使用して既存のテスト ランナーを指定します)。

@RunWith(MyRunner.class)
@MyConfig(testRunner=MockitoJUnitRunner.class)
public class MockitoRunnerTest {

}

... また ...

@RunWith(MyRunner.class)
@MyConfig(testRunner=SpringRunner.class)
public class MockitoRunnerTest {

}

これは、テスト ランナーが非常に軽量であることを意味します。つまり、これは Junit ルールに似ており、独自のコードを呼び出した後、別の既存の Junit ランナーにプロキシするだけです。

私の直感は、これはすでに実装/解決されているということです-それを見つけるのに問題があるだけです.

注:これらの問題により、ルールの使用を避けたい -各「@Test」の後および「JUnit の各「@After」の前に「@Rule」を適用する」を参照してください。

4

0 に答える 0