У меня есть maven, сконфигурированный для запуска gunit (инструмент для тестирования грамматики ANTLR) через maven-gunit-plugin. gunit, однако, имеет два разных режима. Первый режим заставляет gunit выступать в качестве интерпретатора, просматривая файл * .gunit (или * .testsuite), интерпретируя его и отображая результаты. Он может быть сконфигурирован как таковой:Как сгенерировать источники JUnit с использованием maven-gunit-plugin
<plugin>
<groupId>org.antlr</groupId>
<artifactId>maven-gunit-plugin</artifactId>
<version>3.1.3</version>
<executions>
<execution>
<id>maven-gunit-plugin</id>
<phase>test</phase>
<goals>
<goal>gunit</goal>
</goals>
</execution>
</executions>
</plugin>
Второй режим заставляет gunit генерировать исходный код, которым может управлять JUnit. Как я могу приказать maven-gunit-plugin генерировать источники JUnit вместо того, чтобы выступать в качестве интерпретатора?
Несколько замечаний:
- я могу изменить фазу тестирования для «генерирования-тест-источники», чтобы вызвать Maven плагин для запуска в нужное время.
- я не мог найти какой-либо полезной документации по Maven-Gunit-плагин
- Я видел, как люди используют exec-maven-plugin для запуска Gunit с определенным параметром командной строки, но я не ищу, чтобы сделать это.
РЕДАКТИРОВАТЬ/РЕШЕНИЕ:
После прочтения различных ответов, я загрузил исходный код ANTLR, который включает в себя Maven-Gunit-плагин. Плагин не поддержка поколения юнитов. Оказывается, в настоящее время единственными параметрами являются моментальный снимок кода-заглушки fire-maven-plugin и плагина exec.
gunit-maven-plugin от org.codehaus.mojo - это не то же самое, что maven-gunit-plugin от org.antlr. Однако я увижу, если есть репозиторий/моментальный снимок, который работает, как указано выше. –
@Pascal +1, @Kaleb плагины действительно разные.Codehaus mojo был написан специально как обходной путь для создания тестовых классов JUnit. Если вы решите избежать плагина exec, то этот Mojo в настоящее время выглядит наилучшим вариантом (при условии, что он работает). Хотя следует предупредить, что суффикс SNAPSHOT означает, что плагин является изменчивым и может быть изменен, вы можете захотеть взять локальную копию и переименовать/вернуть ее, чтобы избежать сбоев в изменении. –
+1 с мудрыми словами Рича: использование версии SNAPSHOT может быть фатальным для стабильности вашей сборки, и я предпочитаю использовать «фиксированную» версию ради создания воспроизводимости. –