JUnitでテスト実行を組み込んでいるJavaプログラムがあり、JUnit4のライブラリ上のRunnerクラス(BlockJUnit4ClassRunner)ではクラス単位でテストを実行します。
Java
1//テスト対象クラス取得 2String className = "com.sample.sampleTests.sampleTest"; 3Class<?> testClass = Class.forName(className); 4 5//テスト対象クラスを引数にRunnerを作成 6Runner runner = new BlockJUnit4ClassRunner(testClass); 7 8//テスト実行 9Result result = (new JUnitCore()).run(runner);
これを以下のようにテストメソッドを引数にしてBlockJUnit4ClassRunnerを使えるように改造したいのですが、どのように改造すればそれが可能か、ご存知の方教えていただきたいです。
Java
1//テスト対象クラス取得 2String className = "com.sample.sampleTests.sampleTest"; 3Class<?> testClass = Class.forName(className); 4 5//テスト対象クラスのメソッド取得 6Method[] methods = testClass.getMethods(); 7 8for(Method method : methods){ 9 //@Testのメソッドかを判定 10 if(method.getAnnotation(Test.class)){ 11 //テストメソッドを引数にRunnerを作成 12 Runner runner= new CustomBlockJUnit4ClassRunner(method); 13 //テスト実行 14 Result result = (new JUnitCore()).run(runner); 15 } 16} 17 18//JUnitテスト実行 19Result result = (new JUnitCore()).run(runner);

回答1件
あなたの回答
tips
プレビュー