Rails 3,测试方法太多了?

时间:2011-01-30 17:10:29

标签: testing ruby-on-rails-3 frameworks rspec2

如果您刚开始使用rails,那么您会鼓励新用户关注测试

我读到的关于Rails 3的任何内容都告诉我,我应该使用 Rspec 2 。但是Rspec带来了我需要学习的其他东西,如

gem 'capybara'
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'cucumber'
gem 'spork'
gem 'launchy'

然后我的一个朋友告诉我,我应该坚持使用rails附带的测试框架,也许只是将'shoulda'集成到测试过程中,因为它有一个很好的语法。

当谈到测试时,似乎我们有太多的选择和太多的做事方式。也许这是一件好事,但我一直认为rails是关于创建常见约定并避免以不同方式做同样的事情。

我对铁杆很新 我不确定从哪里开始。
我感到不知所措 这是正常的吗?

3 个答案:

答案 0 :(得分:3)

由于您刚开始使用rails,我建议您使用“正常工作”的东西来养成测试代码并了解如何使用框架的习惯。 不要浪费时间比较解决方案,选择一个并坚持使用它。

话虽如此,我认为这取决于您开发软件的经验:

  • 如果您从未对代码使用单元测试,请了解Test :: Unit并考虑采用TDD。请注意,TDD一开始需要您花费大量时间,但是当您习惯使用时,这会得到回报。
  • 如果您对代码测试有丰富的经验并且对如何开始使用rails感到困惑,我建议您通过http://railstutorial.org/book进行操作。这是一本(免费的)Ruby on Rails书籍,它使用RSpec,Spork作为一个很好的介绍

使用您现在选择的测试平台从头到尾开发一个项目后,您将有一个更多更好的选择您希望使用的测试框架的任务。

我还建议你在潜入黄瓜之前学习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很棒,但在你有足够的规格表明性能问题之前并不是必需的。

  

我感到不知所措。这是正常的吗?

this,更多this:)