Как настроить тестовый проект для проекта плагина Eclipse
-
05-07-2019 - |
Вопрос
Я работаю над плагином Eclipse и попытался создать еще один тестовый проект отдельно от этого плагина. Причина, по которой я это делаю, заключается в том, чтобы плагин не зависел от jUnit при экспорте. Однако я не могу получить доступ к API Eclipse Plug-in, когда я тестирую. Всякий раз, когда я пытаюсь добавить зависимости подключаемого модуля, список импорта к нему пуст.
Кто-нибудь знает, как импортировать API подключаемого модуля Eclipse в существующий проект? Макет рабочей области выглядит следующим образом:
+- com.foo.myplugin
| |
| +- JRE System Library
| |
| +- Plug-in Dependencies
| |
| +- src
| |
| +- icons, META-INF, plugin.xml, etc...
|
+- com.foo.myplugin.test
|
+- JRE System Library
|
+- JUnit 4
|
+- src
Решение
Рекомендуется использовать этот метод для фрагментов подключаемого модуля:
http://rcpquickstart.com/ 2007/06/20 / блок-тестирование-плагинов-с фрагментами /
Фрагмент получает высокую степень доступа к коду вашего плагина и отделяет логику / зависимости тестирования от самого плагина.
Теперь, если бы я только мог найти способ протестировать их в автоматизированной системе ... (см .: Автоматизированные модульные тесты (junit) для разработки Eclipse Plugin )
Другие советы
Вы можете экспортировать зависимость плагина из проекта плагина. Самый простой способ такой:
<Ол> Перейдите в свой com.foo.plugin
свойства проекта
Перейдите на Путь сборки Java > Заказ и экспорт
Проверьте запись Зависимости плагина
Теперь тестовый проект должен иметь возможность использовать API подключаемого модуля без необходимости использования всей конфигурации подключаемого модуля, требуемой для проекта подключаемого модуля.
Вы можете попытаться добавить природу плагина в ваш новый проект myplugin.test.
В вашем файле .project:
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
[...]
</natures>
Затем в .classpath добавьте:
<classpath>
[...]
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
[...]
</classpath>
Удалите myplugin.test из рабочей области, повторно импортируйте этот проект и посмотрите, поможет ли это ...