[英]Cannot run JUnit test from Eclipse Plugin
我正在尝试从 Eclipse 插件运行一些 JUnit 4 测试,但我只会遇到以下失败:
初始化错误(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 项目中的相同代码实际上将打印“测试运行”字符串。
有谁知道这个错误可能来自哪里? 谢谢
我终于设法做到了,通过这样做:
URLClassLoader classLoader = new URLClassLoader(new URL[]{file.toURI().toURL()}, this.getClass().getClassLoader());
而不是这个:
URLClassLoader classLoader = new URLClassLoader(new URL[] file.toURI().toURL()});
我无法解释为什么这是有效的。 如果有人有答案,我很乐意知道。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.