0

Ruby 1.9.2の上にあるRails 3.1アプリで次のgemを実行しています:

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 と rspec のみを初期化しました。

rails g integration_test MyApp

指図。

そのため、コマンドによって生成されるサンプル テストは 1 つだけです。次のようになります。

 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

なんらかの理由で、guard を実行すると、guard と rspec が 3.5 秒から 5 秒かかり、ほとんどテストで失敗します。私が見たところ、彼らのマシンはこの正確なテストを Mac で約 0.0159 秒で実行しました。これらのテストのパフォーマンスを向上させるにはどうすればよいですか?

これを Windows 7 マシンで実行しています。

誰かがこの状況に対処しましたか?

4

1 に答える 1

1

@jstimが上で示唆したように、この質問に対する一言の答えはSporkです。

:test, :development少なくとも、ブロックに以下を追加する必要があります。

gem 'spork', '~> 1.0rc'
gem 'guard-spork'

これがSporkREADMEへのリンクです。

それが行うことは、あなたが好きなだけあなたのアプリを入れることができるプリロードブロックを設定することです。もちろん、毎回実行する必要のないすべてのものがあるため、テストが高速になるという利点があります。欠点は、プリロードされているものに変更を加えた場合、テストされないことです。このような変更を行った後は、Sporkを再起動する必要があります。

于 2012-06-10T00:45:26.910 に答える