Как разработчик тестов, использующий 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". Разве такой взлом, на который способен лучший мавен?