rspec-rails 3 генерирует spec_helper.rb
и rails_helper.rb
. spec_helper.rb
предназначен для спецификаций, которые не зависят от Rails (например, для спецификаций классов в каталоге lib). rails_helper.rb
предназначен для спецификаций, которые зависят от Rails (в проекте Rails, большинство или все из них). rails_helper.rb
требует spec_helper.rb
. Так что нет, не избавляйтесь от rails_helper.rb
; требуется (а не spec_helper.rb
) в ваших спецификациях.
Если вы хотите, чтобы ваши спецификации, не зависящие от Rails, обеспечивали независимость от Rails, и чтобы они работали как можно быстрее, когда вы запускаете их сами по себе, вы можете потребовать, spec_helper.rb
а не rails_helper.rb
в них. Но это очень удобно -r rails_helper
в вашем , .rspec
а не требовать одного помощника или другой в каждом файле спецификации, так что обязательно будет популярным подходом.
Если вы используете предварительный загрузчик spring, каждый класс нужно загружать только один раз, а Spring загружает классы с нетерпением, даже если вы запускаете только одну спецификацию, которая требуетspec_helper
, поэтому не так много смысла требовать только spec_helper
в некоторых файлах.
Источник: https://www.relishapp.com/rspec/rspec-rails/docs/upgrade#default-helper-files