модульное тестирование Maven плагинов - PullRequest
9 голосов
/ 05 мая 2010

Я ищу информацию о том, как писать модульные тесты для плагинов Maven. Хотя на сайте Maven есть страница об этой теме, есть только один пример модульного теста, который ничего не дает. Я также нашел эту вики-страницу , но она не обновлялась более 4 лет, поэтому я неохотно вкладываю в нее веру.

Я проверил книгу "Полное руководство по Maven", но в ней даже не упоминается предмет. Я хотел бы написать свои модульные тесты на Groovy или Java и был бы признателен за любую информацию о том, как это сделать.

Я использую Maven версии 2.1.0.

Ответы [ 2 ]

12 голосов
/ 06 мая 2010

Первая ссылка, которую вы разместили, является правильным местом, чтобы узнать о различных возможностях и начать с. Но для примера лучше всего было бы взглянуть на источники существующих плагинов. Сказав это:

Для модульного тестирования я предпочитаю maven-plugin-testing-harness. Вы можете узнать (немного) больше об этом в Maven Plugin Harness Wiki , но, как я уже сказал, особенно в плагинах, использующих его, например maven-compiler-plugin. Проверьте CompilerMojoTestCase.

Для интеграционного тестирования (для плагинов очень важно, чтобы плагины проводили интеграционное тестирование), я бы порекомендовал shitty-maven-plugin (ThingY для Super Helpful Integration Testing), особенно если вы заинтересованы в написании тестов в Groovy или maven-invoker-plugin. Они похожи, но имеют обе функции, которых нет у других. На сайте плагина SHITTY упоминается несколько плагинов, использующих его. Проверьте это.

3 голосов
/ 05 мая 2010

Если вы действительно проводите юнит-тесты в своем плагине, первая ссылка будет правильной. Но это немного зависит от того, что вы хотели бы проверить здесь. Функциональность реализации или в сочетании с Maven? Но я понял, что может быть лучше сделать какие-то интеграционные тесты вместо плагинов. Для этого вы должны глубоко изучить Maven Invoker Plugin , который может помочь вам очень хорошо. Можете ли вы взглянуть на другие плагины , которые существуют, как они там тестируют.

...