Я запускаю сценарии огурцов из командной строки
Ниже команда отлично работает для меня
mvn test -Dcucumber.options="--tags @Admin --tags @sanity"
Когда я запускаю сложную команду, и она не работает
Я хочу запускать сценарии огурца с тегами (администратор и здравомыслие) или (сотрудник и здравомыслие)
mvn test -Dcucumber.options="--теги (@Admin и @sanity) или (@Employee и @sanity)"
Я получаю ошибку ниже, когда я запускаю команду выше
initializationError(test.java.runner.TestRunner) Прошедшее время: 0,003 сек. <<< ОШИБКА! java.lang.IllegalArgumentException: Не файл или каталог: ../project_folder/and
@Grasshopper проверьте github.com/огурец/огурец-jvm/issues/1596 на наличие некоторых нюансов в необходимых кавычках. В зависимости от версии maven необходимо поменять местами двойные и одинарные кавычки.
@mpkorstanje Пробовал 2.12.4 и 2.22.2 в Windows, и это сработало. Пробовал команду mvn с -Dtest для конкретного бегуна и -Dcucumber.options, как указано выше, от cmd для maven версии 2.5 до вехи 3. Не работает только для 2.12 и 2.19. Это также для варианта -Dtest. В 2.5 ошибки нет но не фильтрует сценарии. Думаю, это зависит от ОС, поскольку в проблеме упоминается Linux.
Оу, так даже лучше. :D Я использую Linux, и вам нужно поменять местами символы кавычек.


Разбор выражения --tags довольно примитивен, и я бы рекомендовал взглянуть на
cucumber --help
Поскольку вам нужно выражение ((@Admin || @Employee) && @sanity), вы можете попробовать:
--tags @Admin,@Employee --tags @sanity
Запятая представляет собой логическое или, а указание нескольких аргументов --tags представляет собой логическое и.
Обратите внимание, что слова «или» или «и» интерпретируются синтаксическим анализатором аргументов огурца как имена файлов функций для включения в тесты.
Заключите параметр тега в одинарные кавычки. Попробуйте это
mvn test -Dcucumber.options = "--tags '(@Admin and @sanity) or (@Employee and @sanity)'"