1. Начинается работа следующим образом: в двух вкладках терминала запускается bundle exec spork и bundle exec spork cuc для ускорения с помощью spork’а rspec’а и cucumber’а, соответственно.

  2. Ещё в одной вкладке запускается autotest: bundle exec autotest. Теперь всякое моё изменение тут же тестируется. Кстати, я выставляю AUTOFEATURE=false, т.к. запускать ещё и cucumber по факту изменений кажется мне слишком дорогим удовольствием. Особенно, если он, как у нас в проекте, прогоняется целиком примерно за 5 минут.

  3. Далее, действуем согласно парадигме BDD. Но надо убедиться, что все команды (cucumber, rspec и rspec внутри autotest) запускаются с ключами --drb. Для этого можно, например, погасить оба spork’а и запустить прогон тестов. Если он настроен на использование spork, то в терминал выведется No DRb server is running. Running in local process instead ....

  4. Если какой-нибудь отдельный spec разросся (как у нас) до невероятных размеров, а надо работать именно с ним, то я гашу autotest. И во время работы запускаю только конкретный it. Делается это так: надо выяснить, на какой строчке находится этот it (или context\describe), например, 521, а после запустить rspec только для it’а на 521 строчке: bundle exec rspec -l521 spec/model/my_model_spec.rb

  5. Кстати, если вы работаете с cucumber, то чрезвычайно удобная штука – это теги. По-умолчанию, есть тег @wip (work in progress). Ставите у текущего сценария этот тег и запускаете кукумбер: bundle exec cucumber -p wip. Выполнится прогон только сценариев с тегом @wip.

  6. По окончании работы надо выгрузить всё в общий репозиторий. Предварительно, конечно, надо прогнать все тесты с новым функционалом (в т.ч. с тем, что внесли ваши коллеги). Для этого у нас есть специальный alias: alias jointheranks='git pull && bundle update && rake db:migrate && rake parallel:prepare && bundle exec parallel_spec && bundle exec parallel_cucumber && git push'

2 комментария [написать ещё один]

[IMG]

Do compression socks help with Achilles tendonitis?, 3 сентября 2017 года

Greate post. Keep writing such kind of info on your page.
Im really impressed by it.
Hey there, You have done a fantastic job. I will certainly digg it and individually
suggest to my friends. I am sure they’ll be benefited from this site.

[IMG]

Анонимный комментатор, 4 июня 2016 года

I do not know