0

すべてのプラグインをプロジェクトなしでテストできるわけではありません。たとえば、CDT プラグインをテストしたいので、C プロジェクトをインポートする必要があります。しかし、実行構成にはそのようなポイントはなく、SWT プラグイン テスト レコーダーを介してインポート アクションを記録しようとすると、SWTBot は後でそれらを再生できません。Google はこのトピックについて沈黙しています。それ、どうやったら出来るの?

4

2 に答える 2

0

setup メソッドで必要なリソースを作成し、後でそれらをクリーンアップするのは、テストの責任です。実行構成で構成するものではなく、テストでコード化するものです。

SWTBot を使用して C プロジェクトをインポート/作成するか、beanie によって提案されたプロジェクト API を使用できます。

于 2014-10-01T10:01:08.280 に答える
0

これを行う良い方法は、Eclipse リソース モデルを使用することです パッケージを見てください

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 の不便な方法を使用するよりは、これの方が良いと思います。

于 2014-09-02T09:46:48.637 に答える