私は、現在の選択をかなり頻繁に取得する必要があるため、作成したTreeViewerの選択を返すメソッドを書きました。Java JUnit:TreeViewerのテスト選択
このメソッドをJUnitでテストしようとしていますが、何らかの理由で手動で作成した選択が機能しません。どうやら、TreeViewerのツリーはJUnit環境では作成されないため、選択肢を返すことはできません。 getItems()を呼び出すと、デバッグに次のメッセージが表示されます "org.eclipse.debug.core.DebugException:com.sun.jdi.ClassNotLoadedException:コンポーネントタイプの配列を取得中に型が読み込まれませんでした。
は、たぶん私は完全に間違っているのですが、これは、私は今それをやっている方法です:
TreeNode root = createTestTree();
viewer.setContentProvider(new TreeNodeContentProvider());
viewer.setInput(root); //<-- is a tree with at least 9 nodes
viewer.getTree().update(); //<-- tried to update out of desperation, no effect
viewer.refresh();
TreeItem [] items = viewer.getTree().getItems(); //<-- always empty, why
viewer.getTree().setSelection(items[3]);
viewer.refresh();
viewer.getTree().update();
sel = TreeUtil.getTreeSelections(viewer);
assertEquals(1, sel.size());
は、どのように私はJUnitの-テストのためにそれで何かを選択し、有効なTreeViewerを作成することができますか?
あなたはcreateTestTreeためのコードを表示することができますか?それを見ることなく、私はあなたが実際に木にアイテムを追加していないと思います。 –