我在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."
(该场景取自Manning“Rails 3 In Action”一书)。当我运行'bundle exec cucumber'命令时,我必须等待大约四十秒才能收到结果(我的项目中目前只有一个场景 - 所以运行一个场景需要40秒)。我希望通过Cucumber测试更快地获得反馈。来自Cucumber的慢反馈只是生活中的一个事实,还是有办法加快速度?
答案 0 :(得分:3)
嘿那里,我是这本书的作者之一,所以我想我至少可以对这个问题提供一些见解。
我正在使用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和所有相关宝石在内的所有内容。大约10秒半左右。
所以这意味着场景应该以同样快的速度运行。它不是,我不知道为什么不,我无法测试它因为我没有Windows盒子可以测试。
答案可能在于你如何安装Ruby,尽管我现在还不是100%肯定。
答案 1 :(得分:2)
我有一个非常类似的项目,有一个黄瓜方案,在我的Windows机器上运行它需要39秒。
问题是ruby没有针对在Windows上运行进行优化。有些信息在http://en.wikibooks.org/wiki/Ruby_Programming/Installing_Ruby#Windows_is_slow。
我解决这个问题的方法是在VirtualBox上安装Ubuntu并在其中进行所有Rails开发。这是一个很好的妥协,而我仍然不习惯在Ubuntu上工作。相同的黄瓜场景需要10秒才能在虚拟Ubuntu上运行,这或多或少是可以接受的。
在“真正的”Ubuntu安装上需要7秒钟。