Ruby on rails 运行黄瓜场景需要多长时间?

Ruby on rails 运行黄瓜场景需要多长时间?,ruby-on-rails,cucumber,Ruby On Rails,Cucumber,我正在Windows机箱上运行Rails 3应用程序,其中包括以下场景- Scenario: Creating a project Given I am on the homepage When I follow "New Project" And I fill in "Name" with "TextMate 2" And I press "Create Project" Then I should see "Project has been created." (该场景摘自人员配备“Rai

我正在Windows机箱上运行Rails 3应用程序,其中包括以下场景-

Scenario: Creating a project
Given I am on the homepage
When I follow "New Project"
And I fill in "Name" with "TextMate 2"
And I press "Create Project"
Then I should see "Project has been created."

(该场景摘自人员配备“Rails 3正在运行”一书)。当我运行“bundle exec cucumber”命令时,我必须等待大约40秒,直到收到结果(目前我的项目中只有一个场景,因此运行单个场景需要40秒)。我希望通过黄瓜测试更快地获得反馈。Cucumber的缓慢反馈只是生活中的一个事实,还是有一种加速事情的方法

嘿,我是这本书的作者之一,所以我想我至少可以为这个问题提供一些见解

我正在使用Mac OS X编写本书,当我使用
time
UNIX命令运行此场景时:

time bundle exec cucumber features/creating_projects.feature
我得到这个输出:

0m1.196s

real    0m10.741s
user    0m9.195s
 sys    0m1.519s
第一次的输出来自Cucumber,表明场景从上到下运行需要1.196秒。这里的
real
时间表示整个过程花费了多长时间,这意味着一切,包括加载Rails和所有相关的gem。大约10.5秒

所以这意味着该场景应该以同样快的速度运行。它不是,我也不知道为什么不是,我无法测试它,因为我没有一个Windows的盒子来测试


答案可能在于你是如何安装Ruby的,尽管我现在还不是100%确定。

我有一个非常类似的项目,有一个Cumber场景,在我的Windows机器上运行它需要39秒

问题是ruby没有优化到在Windows上运行。这里有一些信息

我解决这个问题的方法是在VirtualBox上安装Ubuntu,并在其中进行所有Rails开发。这是一个很好的折衷方案,尽管我仍然不习惯一直在Ubuntu上工作。同样的黄瓜场景需要10秒才能在虚拟Ubuntu上运行,这或多或少是可以接受的


在“真正的”Ubuntu安装上,需要7秒钟。

如果没有一些实际的代码,至少是Cumber步骤,可能还有一些正在测试的代码,就无法解释为什么,但这看起来确实很长。代码在Windows上可用。我怀疑Cumber测试可能只需要更长的时间才能在Windows上运行,而不管涉及到什么代码。我希望其他一些Windows Cucumber用户能够让我知道他们的测试通常需要多长时间才能运行,并可能为我提供一些调整提示。谢谢你的回答。我也很喜欢这本书,这是我找到的第一个资源,可以帮助你逐步建立Cucumber/Capybara测试套件。我向Rails 3初学者推荐它。我在配置类似的Mac上看到的时间几乎完全相同。我很想知道是否有办法减少“用户”部分?我尝试过guard,希望它能在两次跑步之间保留一些先决条件,但似乎并没有减少跑步时间。有什么建议吗?