Nic*_*ill 6 ruby ruby-on-rails rspec2 rspec-rails ruby-on-rails-3
我对rails非常陌生,并试图通过实现测试来"正确"地做事.昨天我使用脚手架生成器创建了我的第一个模型/视图/控制器配置.虽然我被告知你真的不应该使用脚手架,但它很有用,这样我才能学习如何构建Rails代码.
我注意到的一件事是自动生成的RSpec主要放在spec/controllers文件夹中.然而,当我观看Railscasts的这一集时,我注意到他使用了
rails generate integration_test [test_name]
Run Code Online (Sandbox Code Playgroud)
将单个测试文件放在spec/requests文件夹中的命令.然而,他所写的所有测试都与控制器进行了交互.我想要确定的是存储这些测试的最佳实践.
什么时候应该在spec/requests文件夹中存储测试?什么时候应该在spec/controllers文件夹中存储测试?任何反馈将不胜感激!
实际上这些是两种类型的测试.在控制器文件夹中,您应该创建测试以测试控制器操作,在请求文件夹中,您应该放置测试以与视图交互,这将实际测试您的所有应用程序部分,这就是它命名为集成测试的原因.
这里有一些关于这两种测试的文章.
http://everydayrails.com/2012/04/07/testing-series-rspec-controllers.html
http://everydayrails.com/2012/04/24/testing-series-rspec-requests.html