maven с cuke4duke: опционально определяя теги огурца в строке cmd - PullRequest
2 голосов
/ 14 июля 2011

Как разработчик тестов, использующий cuke4duke с maven2, я хочу иметь возможность по выбору выбирать тесты по тегам в строке cmd. Похоже, что так как у maven нет условных выражений, часть «необязательно» требует взлома.

Аргумент огурца может быть, например, "--tags @firstTag". Один из способов реализовать это - иметь в pom.xml

<cucumberArgs>
  ...
  <cucumberArg>${tagargs}</cucumberArg>
</cucumberArgs>

Тогда строка cmd имеет

 mvn integration-test -Dtagargs="--tags @firstTag"

Это прекрасно работает, когда я хочу определить теги, но когда я не включаю этот аргумент -D (т.е. не выбирая по тегам), я получаю

[INFO] No such file or directory - null (Errno::ENOENT)

Обходной путь - определить $ {tagargs} в свойствах как копию уже используемого аргумента огурца:

 <properties>
   <tagargs>--strict</tagargs>
 </properties>

Итак, в худшем случае я получаю "--strict --strict". Разве такой взлом, на который способен лучший мавен?

1 Ответ

0 голосов
/ 28 июля 2011

Мне удалось обойти эту проблему с помощью игнорируемого отрицательного тега .Примечание. Я использую cuke4duke 0.4.4 .

Определите значение по умолчанию для вашего свойства, которое запускает все сценарии, которые НЕ помечены как "игнорировать" (назовите егокак вам угодно).

<properties>
    <tagargs>--tags=~@ignore</tagargs>
</properties>

Maven будет использовать это свойство, если вы не передадите определенное значение в командной строке.Поэтому все ваши сценарии будут совпадать и выполняться.

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