繁体   English   中英

无法从 Eclipse 插件运行 JUnit 测试

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM