Java 使用包含的工作区项目运行Eclipse插件测试
我正在编写一个小的Eclipse插件和一些测试。我通过指定插件测试在Java 使用包含的工作区项目运行Eclipse插件测试,java,eclipse,plugins,Java,Eclipse,Plugins,我正在编写一个小的Eclipse插件和一些测试。我通过指定插件测试在无头模式下运行来启动插件测试。我想在这些测试中访问工作区中的活动Java项目,但是当我执行它们时,工作区是空的。我使用以下代码获取所有Java项目(工作正常): 但是,项目总是空的。这是因为Headless模式启动了一个新的Eclipse实例,其中有一个空的工作区。我的问题是:我是否可以指定测试应该在当前Eclipse实例中运行,或者我是否可以指定我希望在新创建的工作区中拥有的项目?我找到了一种简单的方法来设置测试工作区,并想与
无头模式下运行来启动插件测试。我想在这些测试中访问工作区中的活动Java项目,但是当我执行它们时,工作区是空的。我使用以下代码获取所有Java项目(工作正常):
但是,项目总是空的。这是因为Headless模式
启动了一个新的Eclipse实例,其中有一个空的工作区。我的问题是:我是否可以指定测试应该在当前Eclipse实例中运行,或者我是否可以指定我希望在新创建的工作区中拥有的项目?我找到了一种简单的方法来设置测试工作区,并想与您共享它(尽管这意味着回答我自己的问题):
打开Eclipse
并在光盘上的某个位置创建一个新的工作区
将一些示例项目添加到新的工作区
打开一个包含插件测试的Eclipse
实例
在JUnit插件测试启动配置中,转到Main
选项卡
指定在1)中创建并在2)中填充的工作区
运行测试,该测试将从指定的工作区和其中的所有项目开始
这两件事你都不能做。您需要在测试工作区中设置项目。您可以为此提供任何链接或示例代码吗?非常感谢。
IWorkspaceRoot myWorkspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
for(IProject project : myWorkspaceRoot.getProjects()) {
if(project.isOpen() && isJavaProject(project)) {
IJavaProject javaProject = JavaCore.create(project);
projects.put(project.getName(), javaProject);
}
}