我在ruby 1.9.2的rails 3.1 app ontop中运行以下宝石:
group :test, :development do
gem 'turn', '<0.8.3'
gem 'rspec-rails'
gem 'capybara'
gem 'guard-rspec'
gem 'minitest'
gem 'ruby_gntp'
gem "win32console", "~> 1.3.0"
end
我只是通过运行
初始化了guard和rspecrails g integration_test MyApp
命令。
所以,我只有一个由命令生成的示例测试。它看起来像这样:
require 'spec_helper'
describe "Tasks" do
describe "GET /tasks" do
it "works! (now write some real specs)" do
# Run the generator again with the --webrat flag if you want to use webrat methods/matchers
get tasks_index_path
response.status.should be(200)
end
end
end
出于某种原因,当我跑卫,它需要防守和rspec在3.5和5秒之间,只是在小测试中失败了。在我看到的这些内容上,他们的机器在Mac上运行了大约.0159秒的精确测试。我该怎么做才能提高这些测试的性能?
我在Windows 7机器上运行它。
有没有人处理过这种情况?
答案 0 :(得分:1)
正如@jstim在上面提到的那样,这个问题的一个单词答案就是Spork。
至少,您需要将以下内容添加到:test, :development
块中:
gem 'spork', '~> 1.0rc'
gem 'guard-spork'
以下是Spork README的链接。
它的作用是设置一个预加载块,您可以根据需要随意放置应用程序。当然,好处是更快的测试,因为每次都不需要运行所有的东西。缺点是如果您对预装的内容进行了更改,则将不会进行测试。您需要在更改后重新启动Spork。