如果您刚开始使用rails,那么您会鼓励新用户关注测试。
我读到的关于Rails 3的任何内容都告诉我,我应该使用 Rspec 2 。但是Rspec带来了我需要学习的其他东西,如
gem 'capybara'
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'cucumber'
gem 'spork'
gem 'launchy'
然后我的一个朋友告诉我,我应该坚持使用rails附带的测试框架,也许只是将'shoulda'集成到测试过程中,因为它有一个很好的语法。
当谈到测试时,似乎我们有太多的选择和太多的做事方式。也许这是一件好事,但我一直认为rails是关于创建常见约定并避免以不同方式做同样的事情。
我对铁杆很新
我不确定从哪里开始。
我感到不知所措
这是正常的吗?
答案 0 :(得分:3)
由于您刚开始使用rails,我建议您使用“正常工作”的东西来养成测试代码并了解如何使用框架的习惯。 不要浪费时间比较解决方案,选择一个并坚持使用它。
话虽如此,我认为这取决于您开发软件的经验:
使用您现在选择的测试平台从头到尾开发一个项目后,您将有一个更多更好的选择您希望使用的测试框架的任务。
我还建议你在潜入黄瓜之前学习RSpec。
答案 1 :(得分:1)
听起来你有选项超载。即使在编程之外,对于许多不同情况的大多数人来说这也很常见。对你来说绝对最简单的事情就是使用Rails默认设置的东西,称为Test :: Unit
他们的官方指南在此处介绍:http://guides.rubyonrails.org/testing.html
一旦你习惯使用普通的Test :: Unit风格进行测试,我建议你探索一下你朋友提到的一些插件,比如shoulda(https://github.com/thoughtbot/shoulda)和factory_girl(https ://github.com/thoughtbot/factory_girl)
祝你好运!答案 2 :(得分:1)
但是Rspec完全打击了 我需要学习的其他事情......
实际上,您不需要学习任何其他宝石来开始使用RSpec。只需使用gem 'rspec-rails
,然后运行rails generate rspec:install
即可设置项目。
学习RSpec的好方法是查看rails generate scaffold
生成的代码。这将为处理标准RESTful操作的控制器,视图和路由创建spec文件。
在学习RSpec的同时,您可以在发现需要时添加其他宝石。 Autotest
是必不可少的恕我直言。 Webrat
为视图规范添加了有用的匹配器。 Factory_girl
增加了对工厂的支持。
Spork
很棒,但在你有足够的规格表明性能问题之前并不是必需的。
我感到不知所措。这是正常的吗?