Ruby 社区中有许多可用的测试框架,即 unittest、rspec、shouda 和 cana,那么测试我的 Rails 模型最合适的测试框架是什么?
它们基本上具有相同的功能,即对我的模型进行单元测试吗?我什么时候应该使用哪个?使用一个而不是另一个有什么好处?请帮我决定。
非常感谢您的见解。
Ruby 社区中有许多可用的测试框架,即 unittest、rspec、shouda 和 cana,那么测试我的 Rails 模型最合适的测试框架是什么?
它们基本上具有相同的功能,即对我的模型进行单元测试吗?我什么时候应该使用哪个?使用一个而不是另一个有什么好处?请帮我决定。
非常感谢您的见解。
差异主要归结为个人品味。我建议从 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组合的粉丝。