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
편집 : 기록을 위해 레이크 사양이 정상적으로 작동합니다.
이상한 일 - 제가 일하는 앱보다 코드가 적어서 시간이 많이 소요됩니다. 어쩌면 루비 프로를 이용해 시간이 어디 있는지 알 수 있을까요? –