testing - Rails 3,测试方法太多?

标签 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'

然后我的一个 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/

相关文章:

java - 最佳实践 : fail() vs assertTrue(false)

c++ - 如何在 Google Test 中为一个夹具运行多个测试用例?

ruby-on-rails - 为什么这个简单的 RSpec 字符串相等规范会失败?

ruby-on-rails - 如何在 Ruby 中输出一年中每个季度的日期范围?

c# - 哪些 .NET 模拟框架允许我将任何内容指定为预期参数?

php - 事件驱动的 PHP 框架?

testing - 瀑布模型测试与敏捷相比有什么优点吗?

c++ - 是否有一个 gtest 等同于夹具级设置/拆卸?

ruby-on-rails - 如何在 Formtastic 中正确传递输入集合

ios - 无法在 Xcode 10.2 中使用通用框架编译项目