2014-07-15 4 views
2

Rails 2.3에서 Rails 3.2 Upgrade를하고 있으며, RSpec과 같은 새로운 버전의 gails도 진행 중입니다.RSpec 로딩 속도가 매우 느림

그것은 내 응용 프로그램이 매우 큰 것을 주목할 필요가 : 하루에

$ rake stats 
+----------------------+-------+-------+---------+---------+-----+-------+ 
| Name     | Lines | LOC | Classes | Methods | M/C | LOC/M | 
+----------------------+-------+-------+---------+---------+-----+-------+ 
| Total    | 132568 | 96987 | 1108 | 7078 | 6 | 11 | 
+----------------------+-------+-------+---------+---------+-----+-------+ 
    Code LOC: 55656  Test LOC: 41331  Code to Test Ratio: 1:0.7 

날, 나는 약 20 초에 부팅 테스트 환경을 가지고 제우스를 사용하고,과를 실행하는 데 약 40 분 소요 짓다.

내가 실행 그러나 경우

$ rspec 

은 4 분 만 시작 53 초 정도 소요하고 거기에서 크롤링합니다.

내 사양 도우미가 미치지 않습니다. 내가 정말로 제거한 것은 rspec/autorun 뿐이므로 제우스가 모든 것을 두 번 실행하지 않아야합니다.

# spec_helper.rb 
ENV["Rails.env"] ||= 'test' 
require File.expand_path("../../config/environment", __FILE__) 
require 'rspec/rails' 
require 'rspec/given' 
require 'database_cleaner' 
require 'capybara/rspec/matchers' 
require 'debugger' 

Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } 

include FactoryGirl::Syntax::Methods 

RSpec.configure do |config| 
    config.treat_symbols_as_metadata_keys_with_true_values = true 
    config.before(:suite) do 
    DatabaseCleaner.strategy = :transaction 
    end 

    config.before(:each) do 
    DatabaseCleaner.start 
    end 

    config.after(:each) do 
    DatabaseCleaner.clean 
    end 

    config.fixture_path = "#{::Rails.root}/spec/fixtures" 
    config.global_fixtures = :users, :roles 
    config.use_transactional_fixtures = false 
    config.infer_base_class_for_anonymous_controllers = false 
    config.order = "random" 

    def (ActionDispatch::Integration::Session).fixture_path 
    RSpec.configuration.fixture_path 
    end 
end 

편집 : 기록을 위해 레이크 사양이 정상적으로 작동합니다.

+0

이상한 일 - 제가 일하는 앱보다 코드가 적어서 시간이 많이 소요됩니다. 어쩌면 루비 프로를 이용해 시간이 어디 있는지 알 수 있을까요? –

답변

1

키는 ENV["Rails.env"]으로 올바르게 구성된 환경 변수가 아니며 모든 것이 미쳐 버리게되었습니다. 검색을 잘못하고 대체하십시오.

관련 문제