我们使用DelayedJob来运行一些长时间运行的进程,并希望使用Cucumber / Webrat进行测试。
目前,我们在Ruby线程中调用Delayed :: Job.work_off来完成后台工作,但正在寻找更强大的解决方案
最佳方法是什么?
感谢。
答案 0 :(得分:1)
我使用Delayed:Job.work_off
方法看到的主要问题是,您在Cucumber场景中明确指出属于系统内部的东西。混合这两个问题违背了功能测试的精神:
When I click some link # Some operation is launched in the background
And Jobs are dispatched # Delayed:Job.work_off invoked here
Then I should see the results...
另一个问题是,您需要在重复的步骤中填充Cucumber方案,以便在需要时调度作业。
我目前使用的方法是launching delayed_job in the background while cucumber scenarios are being executed。您可以在该链接中查看我正在使用的Cucumber挂钩。