Написать тест плагинов Junit Eclipse

С чего начать написание теста плагинов? Я написал несколько игрушечных плагинов и хотел бы начать делать TDD с моими плагинами.

1 ответ

Решение

Если ваш плагин является плагином RCP (Rich Client Platform), то с SWT вы можете использовать SWTBot.
Эти тесты могут быть заключены в один JUnit:

Run-в-конфигурации создать


Если ваши плагины основаны на OSGi, вы должны знать, что пакет OSGi запускает свой собственный загрузчик классов и, следовательно, классы не находятся в одном пакете.
Смотрите " Является ли OSGi врагом тестов JUnit? "

Сделайте свой тестовый плагин фрагментом.
Одна проблема состоит в том, что другие плагины не могут получить доступ к классам, определенным во фрагментах (как Патрик Полин указывает на более подробное обсуждение фрагментов в модульных тестах).
Другая проблема заключается в том, что plugin.xml во фрагменте игнорируется. И поэтому ваш тестовый плагин не может внести свой вклад

Из статьи Патрика:

Фрагмент выглядит очень похоже на плагин снаружи. Он представлен как отдельный проект в вашей рабочей области, он содержит манифест, который описывает его содержимое, он собран и развернут как jar. Отличие фрагмента в том, что он предоставляет свои ресурсы во время выполнения для одного подключаемого модуля хоста. Поэтому классы во фрагменте загружаются загрузчиком классов подключаемого модуля.

модульный тест плагина

Размещая наши модульные тесты во фрагментах, мы можем предоставить нашим тестам доступ к закрытым методам тестируемых классов. Кроме того, поскольку исходный код и тестовый код фактически являются частью одного и того же плагина, проблем с неэкспортированными пакетами не возникает. Тестовые классы будут иметь доступ ко всем пакетам в плагине, независимо от того, экспортированы они или нет.

Основным недостатком этого подхода на основе фрагментов является то, что трудно объединить модульные тесты в основной набор тестов. Хотя создать набор тестов, включающий тесты внутри фрагмента, несложно, создать набор, включающий тесты в нескольких фрагментах, не так просто.


Если ваши плагины нуждаются в простом тестировании, достаточно тестового набора JUnit.

Создайте новый тест-кейс BookTest в пакете test.yourpackage, щелкните правой кнопкой мыши на пакете и выберите " New > JUnit Test Case ".

новый тест

Другие вопросы по тегам