并非每个插件都可以在没有项目的情况下进行测试。例如,我想测试CDT-Plug-in,因此我需要导入一个C项目。但是在运行配置中没有这一点,当我尝试通过SWT插件记录导入操作时,测试记录器SWTBot之后无法重放它们。谷歌对此话题保持沉默。我该怎么做?
答案 0 :(得分:0)
一个很好的方法是使用eclipse recource模型 看看包
org.eclipse.core.resources
这是一个在工作区中创建新项目的方法
private IProject getNewOpenProject(IWorkspace wks, String name)
throws CoreException {
System.out.print("Creating project " + name + "...");
IProjectDescription prj1ProjectDescription = wks
.newProjectDescription(name);
IProject prj = wks.getRoot().getProject(name);
prj.create(prj1ProjectDescription, null);
prj.open(null);
System.out.println(" [OK]");
return prj;
}
此方法会将您的内容导入eclipse项目
private void importDirIntoProject(File srcPath, IProject prj,
IOverwriteQuery overwriteQuery) throws InvocationTargetException,
InterruptedException {
ImportOperation op = new ImportOperation(prj.getFullPath(), srcPath,
FileSystemStructureProvider.INSTANCE, overwriteQuery);
op.setCreateContainerStructure(false);
op.run(new NullProgressMonitor());
}
此方法使用本机eclipse机制。我认为这比使用SWTBot不方便的方式更好。
答案 1 :(得分:0)
您的测试的责任是在其设置方法中创建必要的资源,并在之后进行清理。它不是在运行配置中配置的东西,而是在测试中编码。
您可以使用SWTBot导入/创建C项目,也可以使用beanie建议的项目API。