spec / rails_helper.rb与spec / spec_helper.rb有什么不同? 我需要它吗?
我正在做Rails教程第二次。 当我input这个
rails generate integration_test static_pages
我得到spec/rails_helper.rb
和spec/spec_helper.rb
而不是spec/spec_helper.rb
现在,当我运行我的testing时,它们比上次做的时间更长(更“冗长”),而且速度更慢。 我想知道这两个文件之间的区别是什么,如果我做错了什么。 另外,有没有办法摆脱rails_helper.rb
文件没有搞乱一切?
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
中的-r rails_helper
非常方便,而不是在每个spec文件中都需要一个助手或其他的帮助程序,所以这肯定是一个stream行的方法。
如果你使用的是spring preloader,每个类只需要加载一次, 即使你只运行一个需要spec_helper
规范, spec_helper
急切地加载类 ,因此在某些文件中只需要spec_helper
就没有那么多的价值。
来源: https : //www.relishapp.com/rspec/rspec-rails/docs/upgrade#default-helper-files