написать тест плагинов Junit Eclipse - PullRequest
7 голосов
/ 03 июня 2009

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

1 Ответ

14 голосов
/ 03 июня 2009

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

Run-as-config-create


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

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

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

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

plugin unit test

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

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


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

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

new test case

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...