如果您刚刚开始使用 Rails,您会鼓励新用户在测试方面走哪条路。
我读到的有关 Rails 3 的所有内容都告诉我应该使用 Rspec 2。但是 Rspec 附带了一大堆我需要学习的其他东西,比如
gem 'capybara'
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'cucumber'
gem 'spork'
gem 'launchy'
然后我的一个 friend 告诉我,我应该坚持使用 Rails 附带的测试框架,也许只是将“shoulda”集成到测试过程中,因为它有一个很好的语法。
当谈到测试时,我们似乎有太多的选择和太多的方法来做某事。也许这是一件好事,但我一直认为 Rails 是关于创建通用约定并避免以不同方式做同一件事。
我是 Rails 的新手。
我不确定从哪里开始。
我感到不知所措。
这是正常的吗?
最佳答案
既然您是从 Rails 开始的,我建议您使用一些“恰到好处”的东西来养成测试您的代码并了解如何使用您的框架的习惯。 不要浪费时间比较解决方案,选择一个并在这个项目中坚持使用。
话虽如此,我真的认为这取决于您开发软件的经验:
- 如果您从未对代码使用过单元测试,请学习 Test::Unit 并考虑采用 TDD。请注意,TDD 一开始需要您投入大量时间,但当您习惯它时,就会得到返回。
- 如果您在代码测试方面有丰富的经验并且只是对如何开始使用 Rails 感到困惑,我建议您通过 http://railstutorial.org/book 进行操作.这是一本(免费的)Ruby on Rails 书籍,使用 RSpec、Spork 并作为一个很好的介绍
在使用您现在选择的测试平台从头到尾开发一个项目后,您将有一个很多更好的任务来选择您希望使用的测试框架。
我还建议您在深入了解 Cucumber 之前先学习 RSpec。
关于testing - Rails 3,测试方法太多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4844220/