Ruby on Rails: огурец: как мне обыграть одну особенность? - PullRequest
44 голосов
/ 23 июня 2010

Причина, по которой я хочу запускать их по отдельности, заключается в том, что мне нужно настроить их по отдельности в моем файле Rake, потому что мое пространство кучи Java заполняется при запуске их всех вместе

Ответы [ 9 ]

68 голосов
/ 23 июня 2010

Правильный способ - запустить его, используя исполняемый файл cucumber, если вы используете Rails 2, или bundle exec cucumber, если вы используете Rails 3 (и, следовательно, Bundler).

Чтобы запустить определенную функцию:

[command] features/signing_in.feature

Чтобы запустить определенный сценарий из этой функции:

[command] features/signing_in.feature:6

Номер строки может быть любой строкой внутри этой функциино обычно это первая строка.

Если вы запустите rake cucumber:ok и некоторые сценарии не будут выполнены, в нижней части вывода вы увидите что-то вроде этого:

cucumber features/sigining_in.feature:6 # Signing in via form

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

45 голосов
/ 23 июня 2010

Чтобы напрямую ответить на вопрос о рейке, вы можете использовать:

rake FEATURE=features/adding_products.feature cucumber

, но на вики-странице Using Rake не рекомендуется использовать rake для чего-либо, кроме CI-сервера, потому что он запускается медленнее. Просто используйте вместо этого командную строку cucumber, т.е.

cucumber features/adding_products.feature

или, если необходимо:

bundle exec cucumber features/adding_products.feature
37 голосов
/ 26 июля 2011

Грабли у меня не сработали. Просто заменили грабли на bundle exec, и все заработало. Ниже приведен образец.

bundle exec огурцы функции / пользователи / подпись. Особенность - требовать функции

15 голосов
/ 30 июля 2012

Я не уверен, что функция тега огурца была доступна, когда был задан вопрос, но я предпочитаю установить @active тег

  @active
  Feature ..

или

  @active
  Scenario ..

и

  cucumber --tags @active
13 голосов
/ 29 мая 2013

Мне нравится короткая команда $ cucumber -n.

Если:

Feature: Manage Contents
  In order to manage instances from custom content types
  …

Тогда:

$ cucumber -n "Manage Contents"
3 голосов
/ 21 сентября 2015

Для запуска одного файла объектов.

cucumber /project folder/features/featurefile.feature

Для запуска определенного сценария:

cucumber /project folder/features/featurefile.feature:10

где 10 - строка сценария.

Если вы используете упаковщик,

bundle exec cucumber /project folder/features/featurefile.feature

1 голос
/ 23 июня 2010

Вы можете использовать script/cucumber для создания отдельных файлов.

Предполагается, что вы находитесь в корневом каталоге вашего проекта и у вас есть папка функций:

./script/cucumber features/adding_products.feature

Редактировать: Перечитав свой вопрос, хотите ли вы использовать отдельные функции или сценарии?

0 голосов
/ 22 июня 2014

Параметры, которые обычно требуются, когда у вас есть несколько проектов огурцов в крупномасштабном предприятии: 1) где проводить тесты 2) с какой средой работать 3) с каким браузером 4) с какими тегамишаблон, который очень гибок и может быть использован несколькими способами в зависимости от ваших потребностей.Эту схему можно использовать для локального запуска с сеткой селена, с соусами и в среде непрерывной интеграции

http://seleniumframework.wordpress.com/2014/05/18/pattern-for-running-multiple-cucumber-projects-on-ci-server/

0 голосов
/ 23 июня 2010

Если вы используете cuke4duke, вы можете запускать его отдельно от ant или maven.

инструкция гласит, что вы можете использовать те же опции, что и огурец. Поэтому я ожидаю, что вы можете указать имя функции, которую хотите запустить, в командной строке.

...