1
我试图运行一些JUnit的从一个Eclipse插件4次测试运行JUnit测试,但我只得到以下故障:无法从Eclipse插件
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,空); 但这不是我想要的 –