Ruby on rails RubyonRails:分解一个大型test_helper.rb
我们有一个相当大的Ruby on rails RubyonRails:分解一个大型test_helper.rb,ruby-on-rails,ruby,refactoring,conventions,Ruby On Rails,Ruby,Refactoring,Conventions,我们有一个相当大的test/test\u helper.rb文件,它做了很多不相关的事情。是否有一种“Rails方式”将其分解为子文件,存储在一些常规位置 我试图搜索官方文件,但什么也找不到。感谢您的帮助 我们在我们的spec/spec\u helper.rb中这样做(使用RSpec而不是Minitest,但同样的原则应该适用): Dir[“#{File.dirname(uuuu File_uuu)}/support/***.rb”].sort.each do|File| 需要文件 结束 然后
test/test\u helper.rb
文件,它做了很多不相关的事情。是否有一种“Rails方式”将其分解为子文件,存储在一些常规位置
我试图搜索官方文件,但什么也找不到。感谢您的帮助 我们在我们的
spec/spec\u helper.rb中这样做(使用RSpec而不是Minitest,但同样的原则应该适用):
Dir[“#{File.dirname(uuuu File_uuu)}/support/***.rb”].sort.each do|File|
需要文件
结束
然后我们有不同的配置文件,比如spec/support/vcr.rb
,spec/support/redis.rb
,等等
编辑:这实际上来自rspecrails
生成的文件。以下是RSpec 3.9中的行:
Dir[Rails.root.join('spec','support','**','*.rb')。每个{f |都需要f}
我们在我们的spec/spec\u helper.rb中这样做(使用RSpec而不是Minitest,但同样的原则也应该适用):
Dir[“#{File.dirname(uuuu File_uuu)}/support/***.rb”].sort.each do|File|
需要文件
结束
然后我们有不同的配置文件,比如spec/support/vcr.rb
,spec/support/redis.rb
,等等
编辑:这实际上来自rspecrails
生成的文件。以下是RSpec 3.9中的行:
Dir[Rails.root.join('spec','support','**','*.rb')。每个{f |都需要f}
不要忘记Ruby 2.4+中的\uuuu dir\uuuu
,或者更好的Rails.root.join('spec/support/…')
好的。只是确认一下:没有传统的目录结构,rails被配置为自动导入,比如控制器之类的?啊,看起来这是一个从旧版本的rspec rails
自动生成的文件,我们从来没有更新过…@tadman Yep。在您require File.expand_path(“../../../config/environment”和文件顶部的
)之后,Rails.root
将可用于所有进一步的require
s。您还可以require\u relative'../config/environment'
,这实际上不那么凌乱。不要忘记Ruby 2.4+中的
\uu dir,或者更好,Rails.root.join('spec/support/…')
Ah OK。只是确认一下:没有传统的目录结构,rails被配置为自动导入,比如控制器之类的?啊,看起来这是一个从旧版本的rspec rails
自动生成的文件,我们从来没有更新过…@tadman Yep。在您require File.expand_path(“../../../config/environment”和文件顶部的
之后,Rails.root
将可用于所有进一步的require
s。您还可以require\u relative'../config/environment'
,这实际上不会太麻烦。