Как заставить огурец запускать все функции, если нет соответствующего тега

Я использую огурец с вилкой. Мне очень нравится run_all_when_everything_filtered в Rspec. который запускает всю спецификацию, если нет соответствующего тега. Могу ли я сделать это с огурцом. например, в моем профиле автотеста я указываю --tags @wip, но если нет соответствующих тегов, он запускает весь сценарий


person ahmy    schedule 01.10.2011    source источник
comment
Не могли бы вы пояснить: вы хотите иметь возможность указывать такой тег, как @wip, и запускать сценарии, помеченные как таковые, но если случится так, что ни один сценарий во всем вашем наборе не имеет тега @wip, то вместо этого он будет запускать все?   -  person Jon M    schedule 02.10.2011


Ответы (2)


Я почти уверен, что Cucumber не поддерживает это изначально. Если вы используете Guard для их запуска, вы, вероятно, могли бы получить нужное поведение, вызвав сценарий или пользовательскую задачу rake вместо прямого вызова Cucumber.

Должно быть довольно тривиально написать сценарий или задачу rake для вызова Cucumber с аргументом -t @wip, затем проверить, содержит ли вывод «0 сценариев», и если да, то снова запустить Cucumber без аргумента -t, чтобы выполнить весь набор. .

person Jon M    schedule 02.10.2011

Если вы знаете имя тега, вы можете указать тег с "~" перед тегом. Это --tags ~@wip.

Это означает, что тег, который вы указываете для огурца, может быть логическим выражением.

  • Параметр «~» перед тегом представляет собой NOT.
  • Вы можете указать OR, если напишете --tags @wip1,@wip2.
  • Вы можете указать AND, написав опции --tags несколько раз.

Я рекомендую вам запустить cucumber -h и проверить параметр --tags, чтобы увидеть больше информации.

person e3matheus    schedule 01.10.2011
comment
Я хорошо знаком с параметром tags, но я использую охрану, поэтому в основном это указывается в огурце.yml. но переключение на использование тега означает, что мне нужно отредактировать его вручную. это то, что я делаю сейчас, rspec имеет эту функциональность, когда указан «тег», но тега нет, он запускает всю спецификацию (например, игнорирует тег). Интересно, есть ли у огурца эта функция? - person ahmy; 02.10.2011