Spring运行外部JUnit Jar导致java.lang.Exception:没有runnable方法

时间:2016-06-01 00:50:10

标签: java spring junit jar

我有一个用户创建并上传jar填充JUnit测试的项目。我的项目在Spring中运行,由于某种原因它无法运行。我可以硬编码一些JUnit测试并且它们工作正常但是一旦我将确切的代码放在.jar文件中,文件就不会运行。这是关于Stack Overflow的第一个问题,我将不胜感激。

这是我的代码

simpletest.jar

import org.junit.Test;
public class simpletest {
@Test
public void sayHello() {
    System.out.println("Simple test ran");
}}

runjar.java

URL[] classLoaderUrls = new URL[]{new URL("file:///c:/Work/simpletest.jar")};
URLClassLoader urlClassLoader = new URLClassLoader(classLoaderUrls);
Class<?> appiumClass = null;
try {
    appiumClass = urlClassLoader.loadClass("simpletest.simpletest");
} catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
// Run the class using JUnitCore
JUnitCore junit = new JUnitCore();
Result result = junit.run(appiumClass);
//Display if test was successful
System.out.println(result.wasSuccessful());

1 个答案:

答案 0 :(得分:1)

当您加载URLClassLoader时,您需要提供当前ClassLoader以加载所需的JUnit库。

        //Code to run junit test
        URLClassLoader urlClassLoader = new URLClassLoader(classLoaderUrls, getClass().getClassLoader());