Параметры передачи в autospec с Cucumber в Ruby on Rails Development - PullRequest
2 голосов
/ 12 января 2010

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

Я хотел бы передать аргумент в команду autospec. autospec явно не принимает аргументы напрямую. Вот вывод autospec -h:

    autotest [options]

options:
    -h
    -help       You're looking at it.

    -v      Be verbose.
            Prints files that autotest doesn't know how to map to
            tests.

    -q      Be more quiet.

    -f      Fast start.
            Doesn't initially run tests at start.

У меня есть каталог cucumber.yml в config. У меня также есть rerun.txt в корневом каталоге Rails. cucumber -h дает мне много информации об аргументах.

Как запустить autospec для функций, помеченных как @wip? Я думаю, что могу использовать config/cucumber.yml. Есть определения профиля. Я могу запустить cucumber -p wip для запуска только @ wip-тегированных функций, но я бы хотел сделать это с autospec.

Буду признателен за советы по работе со многими файлами спецификаций и функций.

Ответы [ 4 ]

3 голосов
/ 18 января 2010

Если вы используете OSX, вы можете попробовать использовать камень Kicker для запуска огурца при изменении файлов:

$ kicker -e "cucumber -p wip" .

К сожалению, я не знаю, есть ли сопоставимая программа для произвольного просмотра файлов в Windows / Linux

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

Если у вас есть профиль autotest в вашем файле cucumber.yml, autospec будет использовать его вместо профиля по умолчанию.

Я использую что-то вроде этого для запуска @wip задач:

autotest: --format pretty --tags @wip:3 --wip features

Это в основном говорит: «запустите первые три сценария, помеченные @wip».

Вы также можете добавить профиль autotest-all, если вы хотите отличаться от autospec при запуске всего набора (обычно после красного => зеленого перехода). Вот грубый пример, с которого можно начать:

autotest-all: --require features --format pretty
0 голосов
/ 14 января 2010

Я не запускаю функции с автотестами или автоспекулами, а периодически запускаю их вручную. Функции огурца не так умны, как тесты rspec, и будут работать при минимальных изменениях. TDD все хорошо, но он должен ускорять, а не замедлять.

Итак, я бегу:

./spec/autospec

в одном окне и

cucumber --tags @wip
0 голосов
/ 14 января 2010

Ну, один совет: вы можете запускать спецификации без запуска функций, установив для AUTOFEATURE значение false:

export AUTOFEATURE=false

Таким образом, вы можете запускать свои спецификации, пока они все не станут зелеными, затем установить для AUTOFEATURE значение true и запустить ваши функции, а когда все они пройдут, вы сможете перейти к рефакторингу.

...