gpt4 book ai didi

ruby-on-rails - spec/rails_helper.rb 与 spec/spec_helper.rb 有何不同?我需要它吗?

转载 作者:行者123 更新时间:2023-11-28 19:38:02 26 4
gpt4 key购买 nike

我正在第二次学习 Rails 教程。当我输入这个

rails generate integration_test static_pages

我得到 spec/rails_helper.rbspec/spec_helper.rb 而不仅仅是 spec/spec_helper.rb

现在,当我运行我的测试时,它们比我上次执行时更长(更“冗长”)并且更慢。我想知道这两个文件之间的区别是什么,如果我做错了什么。另外,有没有一种方法可以删除 rails_helper.rb 文件而不会弄乱一切?

最佳答案

rspec-rails 3 生成 spec_helper.rbrails_helper.rbspec_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。但是在您的 .rspec 中使用 -r rails_helper 非常方便,而不是在每个规范文件中都需要一个或另一个 helper,因此这肯定会成为一种流行的方法。

如果你使用的是 spring 预加载器,每个类只需要加载一次,并且 spring loads classes eagerly even if you only run a single spec that requires spec_helper ,因此在某些文件中只需要 spec_helper 没有太大值(value)。

来源:https://www.relishapp.com/rspec/rspec-rails/docs/upgrade#default-helper-files

关于ruby-on-rails - spec/rails_helper.rb 与 spec/spec_helper.rb 有何不同?我需要它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com