首页 > 解决方案 > Ruby on rails:分解一个大的 test_helper.rb

问题描述

我们有一个相当大的test/test_helper.rb文件,它做了很多不相关的事情。是否有“Rails 方式”将其分解为子文件,存储在某个常规位置?

我尝试搜索官方文档,但找不到任何东西。任何帮助表示赞赏!

标签: ruby-on-railsrubyrefactoringconventions

解决方案


我们在我们的spec/spec_helper.rb(使用 RSpec 而不是 Minitest,但应该适用相同的原则)中这样做:

Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].sort.each do |file|
  require file
end

然后我们有不同的配置文件,例如spec/support/vcr.rb,spec/support/redis.rb等。


编辑:这实际上来自生成的文件rspec-rails。这是 RSpec 3.9 的那一行:

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

推荐阅读