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,空); 但這不是我想要的 –