Я пытаюсь создать очень простой плагин Eclipse.
Я хочу запустить текущий выбранный контрольный пример, используя мой инструмент с помощью JUnit4TestAdapter.
Когда я запускаю внешнее затмение, используя "main" с "параметрами", все просто отлично.
Когда я вызываю "main" с теми же "параметрами" внутри затмения (я создаю отдельный поток для этого вызова), я получаю следующее исключение:
java.lang.Exception: No runnable methods
at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:171)
at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:115)
at org.junit.runners.ParentRunner.validate(ParentRunner.java:269)
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:66)
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:59)
at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:13)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
at junit.framework.JUnit4TestAdapter.<init>(JUnit4TestAdapter.java:31)
at junit.framework.JUnit4TestAdapter.<init>(JUnit4TestAdapter.java:24)
at util.JUnitTestRunner.runTest(JUnitTestRunner.java:26)
at master.Master.runTests(Master.java:180)
at master.Master.runTestsWithEquivalenceAnalysis(Master.java:207)
at master.Master.runInitialTests(Master.java:132)
at master.Master.run(Master.java:102)
at master.Master.runMutationTesting(Master.java:49)
Есть идеи, что на самом деле идет не так? Почему BlockJUnit4ClassRunner решает выдать исключение, если запуск за пределами затмения ему подходит для данного теста? Кстати, настоящий тест - JUnit 3.8 (в отличие от JUnit4)