Я пытаюсь запустить некоторые JUnit 4 тестов из плагиных Затмения, но я только получаю следующий отказ:не удается запустить тест JUnit из Eclipse Plugin
initializationError (testpkg.TestClass): Нет работоспособный методы
класс тест очень прост:
package testpkg;
(...)
public class TestClass {
@Test
public void test() {
System.out.println("Test run");
Assert.assertTrue(true);
}
}
Когда я запускаю его программно в простой проект Java, он работает, но не в плагин Eclipse:
public class DiscoverHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
(...)
File file = new File("C:(...)\\target\\test-classes"); //The .class file
URLClassLoader classLoader = new URLClassLoader(new URL[] file.toURI().toURL()});
JUnitCore.runClasses(classLoader.loadClass("testpkg.TestClass")).getFailures().forEach(c -> System.out.println(c.toString()));
}
}
Тот же код в простом Java-проекте фактически напечатает строку «Пробег тестирования».
Кто-нибудь знает, откуда эта ошибка? Спасибо
Когда вы отлаживаете свой код: он как плагин находит класс? Иногда у меня возникали проблемы с плагинами из плагинов. – IQV
Да, используя File.exists() или даже ClassLoader.loadClass ("testpkg.TestClass") вернет правильный объект класса > с помощью метода test(). Кроме того, я смог запустить тестовую конфигурацию с помощью \t \t \t \t \t DebugPlugin.getDefault(). GetLaunchManager(). GetLaunchConfigurations() [1] .launch (org.eclipse.debug.core.ILaunchManager.RUN_MODE, нуль); Но это не то, что я хочу –