使用包含的工作区项目运行Eclipse Plug-in Test

时间:2014-11-23 12:26:53

标签: java eclipse plugins

我正在编写一个小型Eclipse插件并对其进行一些测试。我通过指定它们在Headless Mode中运行来启动插件测试。我想在这些测试中访问工作空间中的活动Java项目,但是当我执行它们时,工作空间是空的。我使用以下代码来获取所有Java项目(工作正常):

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);
        }
}

但是,项目总是空的。这是因为Headless Mode启动了一个带有空工作空间的新Eclipse实例。我的问题是:我可以以某种方式指定测试应该在当前的Eclipse实例中运行,还是可以指定我想在新创建的工作空间中拥有的项目?

1 个答案:

答案 0 :(得分:2)

我找到了一种简单的方法来设置测试workspace并希望与您分享(即使这意味着回答我自己的问题):

  1. 打开Eclipse并在光盘上的某处创建新的workspace
  2. 将一些示例项目添加到新的workspace
  3. 打开一个包含Eclipse代码
  4. Plug-in Test实例
  5. JUnit Plug-in Test Launch Configuration中,转到Main标签
  6. Launch configuration for a JUnit Plug-in Test

    1. 指定 1中创建的workspace 并填入 2)
    2. 运行测试,该测试将从指定的workspace及其中的所有项目开始