JUnit:initializationError:没有可运行的方法

时间:2014-08-12 10:52:52

标签: java unit-testing eclipse-plugin

我编写了一个eclipse插件,作为其工作的一部分,它读取当前活动项目的所有测试用例并运行它们。问题是当它想运行测试用例时我得到错误 initializationError:没有可运行的方法

可能有用的额外信息: 单元测试代码正在运行JUnit4.11。所有测试用例都使用@Test注释。测试都是公开的,而不是静态的。当我直接运行它们时,测试工作正常。因此,测试没有问题,可能是因为下面的代码我用来加载测试类然后运行它。

我用来加载类然后运行测试用例的代码:(假设在eclipse中打开的活动项目是ExampleProject)。

//Load class contains test cases
File root = new File("c:\ExampleProject\bin")
classLoader = URLClassLoader.newInstance(new URL[] {root.toURI().toURL()});

cls = Class.forName(testClassName, true, classLoader);
//Above lines work and I have test class determined with testClassName

//create a request    
Request request = Request.aClass(cls);

//run the request
Result result = new JUnitCore().run(request);
for (Failure failure : result.getFailures()) {
  System.out.println(failure.toString());    
}

它打印 initializationError(testClassName):没有可运行的方法

如果有人知道问题是什么以及我该如何解决,请告诉我。

PS:请注意,当我从我的插件(C:\ myplugin \ bin)运行测试用例时,上面的代码工作正常并运行插件中存在的测试用例,但是当我想从当前运行测试时项目然后得到上面的运行时错误。可能有些关于classPath的错误?

0 个答案:

没有答案