2010-06-22 2 views
41

Причина, почему я хочу, чтобы запустить их по отдельности, потому, что мне нужно, чтобы они индивидуально настроить в моем файле Рейк, потому что, My Java Heap Пространство заполняется, когда я запускаю их все вместеRuby on Rails: Огурцы: как я могу поднять одну особенность?

+0

Java Heap Space? Как Java фигурирует в этом, если вы используете стек Rake/Rails/Cucumber? –

+0

работает на jruby, я догадываюсь – fakeleft

+0

не напрямую. Я использую некоторые библиотеки вместе с огурцом, которые используют jruby. Я думаю, что CapyBara - это одно. = \ – NullVoxPopuli

ответ

40

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

rake FEATURE=features/adding_products.feature cucumber 

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

cucumber features/adding_products.feature 

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

bundle exec cucumber features/adding_products.feature 
+4

для новой версии, вы можете это сделать тоже - bundle exec cucumber features/added_products.feature –

0

Если вы используете cuke4duke вы можете запускайте это отдельно от муравья или maven.

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

0

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

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

./script/cucumber features/adding_products.feature 

Edit: После перечитывания вашего вопроса, вы хотите сделать индивидуальные особенности, или сценарии?

+0

Для меня это работает 'cucumber -r функции features/added_products.feature' – sivabudh

65

Правильный путь, чтобы запустить его с помощью 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 

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

+13

Для запуска одного сценария вы также можете ввести это : 'cucumber --name" Вход в систему через форму "' – Bastien

+0

Спасибо Райан и Бастьен. Это должен быть принятый ответ. –

36

Рейк не работал для меня. Только что заменил грабли с помощью пучка exec, и он сработал. ниже - образец.

пучок функций огурца функции/пользователей/регистрация.особенность --require особенности

+0

Работал для меня. Спасибо –

+1

Работал для меня тоже. Если я опускаю функции -require, огурец не смог определить определения шага. –

+0

правый, была та же проблема. альтернативой, по-видимому, является жесткий код, который '--require features' заменяет эту строку в ** config/cucumber.yml **' std_opts = "--format # {ENV ['CUCUMBER_FORMAT'] || 'pretty'} - strict --tags ~ @ wip "' с 'std_opts =" --format # {ENV ['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~ @ wip --require features/"' см. [этот вопрос] (http: // stackoverflow.com/questions/6264030/rake-run-all-my-cucumber-tests-fine-but-cucumber-doesnt-have-the-steps) –

15

Я не уверен, огурца-х tag feature был доступен, когда вопрос задают, но я предпочитаю настройки @active тегов

@active 
    Feature .. 

или

@active 
    Scenario .. 

и

cucumber --tags @active 
11

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

Если:

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

Тогда:

$ cucumber -n "Manage Contents" 
+0

Только один, который работал для меня с zeus - спасибо! – Houen

+0

Хороший друг, ты гений –

0

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

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

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

1

Чтобы запустить один файл функции.

cucumber /project folder/features/featurefile.feature 

Для выполнения конкретного сценария:

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

где 10 является линию сценария.

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

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

Смежные вопросы