我对 Rails 还很陌生,并试图通过从一开始就实现测试来以“正确”的方式做事。昨天我使用脚手架生成器创建了我的第一个模型/ View / Controller 配置。虽然有人告诉我您真的不应该使用脚手架,但它很有用,因为我可以了解 Rails 代码的结构。
我注意到的一件事是,自动生成的 RSpec 大部分放在 spec/controllers 文件夹 中。然而当我看到this episode of Railscasts , 我注意到他用了
rails generate integration_test [test_name]
将单个测试文件放入 spec/requests 文件夹 的命令。然而,他编写的所有测试都与 Controller 交互。我要确定的是存储这些测试的最佳做法。
什么时候应该在 spec/requests 文件夹中存储测试,什么时候应该在 spec/controllers 文件夹中存储测试?任何反馈将不胜感激!
最佳答案
实际上,这些是两种类型的测试。在 Controller 文件夹中,您应该创建测试来测试 Controller 操作,在请求文件夹中,您应该放置与 View 交互的测试,这将实际测试您的所有应用程序部分,这就是它被命名为集成测试的原因。
这里有一些关于这两种测试的文章。
http://everydayrails.com/2012/04/07/testing-series-rspec-controllers.html
http://everydayrails.com/2012/04/24/testing-series-rspec-requests.html
关于ruby-on-rails - 使用 Rails 编写 RSpec 测试时,spec/requests 文件夹和 spec/controllers 应该放什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11801078/