Как мне запустить шаги Cucumber одновременно в Ruby? - PullRequest
1 голос
/ 06 октября 2010

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

Given I start my long running task  
And I navigate to application status page  
Then I should see "Status" in the html  

Мы используем гем DelayedJob для выполнения наших долгосрочных задач и в настоящее время запускаем Delayed :: Job.work_off в новом потоке.

Каков наилучший способ выполнения шагов одновременно с Cucumber?
Существует ли официально поддерживаемый способ сделать это?

1 Ответ

0 голосов
/ 07 октября 2010

Вы можете взглянуть на

Spork

http://github.com/timcharper/spork

или Гидра

http://github.com/ngauthier/hydra

Я не совсем уверен, что вы можете выполнять шаги параллельно. Особенности / сценарии вы можете. Я предполагаю это из-за длительной задачи, верно?

Если мое предположение верно, Delayed :: Job.work_off - лучший способ, если это занимает очень много времени, вы можете смоделировать / заглушить процесс. Протестируйте работника / процесс отдельно, таким образом, ваши сценарии могут выполняться без каких-либо задержек, а отложенное задание тестируется отдельно. (Это могут быть аналоги для тестирования моделей и контроллеров отдельно)

...