【发布时间】:2009-10-13 22:00:08
【问题描述】:
由于 Ruby 社区中提供了许多测试框架,即:unittest、rspec、should 和 cana,那么测试我的 Rails 模型最合适的测试框架是什么?
它们基本上具有相同的功能,即对我的模型进行单元测试吗?我什么时候应该使用哪个?使用一个而不是另一个有什么好处?请帮我做决定。
非常感谢您的见解。
【问题讨论】:
标签: ruby-on-rails unit-testing rspec shoulda
由于 Ruby 社区中提供了许多测试框架,即:unittest、rspec、should 和 cana,那么测试我的 Rails 模型最合适的测试框架是什么?
它们基本上具有相同的功能,即对我的模型进行单元测试吗?我什么时候应该使用哪个?使用一个而不是另一个有什么好处?请帮我做决定。
非常感谢您的见解。
【问题讨论】:
标签: ruby-on-rails unit-testing rspec shoulda
差异主要归结为个人品味。我建议从 Test::Unit 开始。有很多文档,它是 Rails 的默认设置。如果您想稍后将 Shoulda 添加到组合中,您可以非常轻松地做到这一点。
我还建议使用 Factory Girl 而不是固定装置。 http://github.com/thoughtbot/factory_girl
【讨论】:
很多人似乎都喜欢 rspec。我很难在网上找到最近的(和免费的)资源(教程)。应该有很好的截屏视频,但访问它们需要付费。有免费的截屏视频,但它们非常基础。有一本书即将出版,但距离它宣布并于今年 12 月出版可能已经有一年了。如果您想早点购买,Beta pdf 版本的价格约为 50 美元。
我建议使用 Test::Unit,因为你还不知道它。很高兴知道,因为您可能会阅读其他人的代码并且需要了解它。
【讨论】:
我也建议从 Test::Unit 开始,只是为了感受一下。然后看看其他一些框架,看看你最喜欢什么。 Shoulda 可能是从简单的 Test::Unit 开始的更容易上手的工具之一,因此它可能是下一步的理想选择。另一方面,如果你真的很喜欢 RSpec 的语法,那么你绝对应该使用它。
围绕这个话题展开了争论,但问题是你使用什么并不重要,只要你进行某种形式的测试。如果适合你,坚持使用 Test::Unit 也没有什么问题:)
我个人是Shouda + Factory Girl组合的粉丝。
【讨论】: