Я написал метод, который возвращает выборки 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());
Как мне создать действительный TreeViewer, выбрать что-то в нем для JUnit-Testing?