Rails 3 - RSpec感觉不对

时间:2011-06-17 23:29:55

标签: ruby-on-rails-3 unit-testing tdd

我觉得最令人困惑的编码方式之一就是用英语这样做。我觉得这很麻烦。 Ruby,我其实很喜欢,Rails正在逐渐习惯,但我确实看到了它的好处,并且可以通过我不喜欢的部分。我的意思是,这是一个学习曲线。但是,曲线具有巨大的优势,而且不是那么陡峭的攀登。允许我最尊重rails的部分是,它主要是以常规的形式配置,一旦配置,我就回到我喜欢的编码。

我不是网络开发者,从来没有真正过。我更像是一名应用程序开发人员,但除此之外:

我准备潜入单元测试。我显然倾向于Test :: Unit。在我这样做之前,我想问一下社区的想法。我该怎么用?什么宝石可能有用?为什么这些宝石有用/必要?我应该重新考虑Test :: Unit吗?为什么呢?

2 个答案:

答案 0 :(得分:1)

_begin_religious_war _

Test :: Unit非常适合一次性使用,对于需要利用模拟对象和重用的完整应用程序,Shoulda + Mocha更好(imho)。用于集成测试的webrat非常简单,可以完成我到目前为止所需的一切。

显然没有正确答案。 Test :: Unit是核心,只要配置它们以便在你的应用程序中使用它就无法击败。

如果他们都做了同样的事情,对于rspec / cucumber / shoulda / etc的开发者来说,这将浪费时间。很明显,Test :: Unit对每个人来说都不是最好的答案,但它是Ruby的'默认'测试包,所以它是其余的衡量标准。

P.S。除了一般避免主观问题之外,你应该真正避免使用像“我讨厌RSpec”这样的主观陈述的问题标题。您可以,但我已经完成了严格的项目(例如政府/军事承包商),其中rSpec是无价的,绝对最适合我们的测试需求。

答案 1 :(得分:1)

只要您实际测试,Test :: Unit或Rspec就没关系。他们都会帮助你达到相同的结果,对他们来说可能有不同的哲学(这可能不是正确的词)。

  • 我应该使用什么?

您的选择,Test :: Unit,Rspec,也许是一个组合?...但是,关键在于您使用它们来帮助您测试代码。

  • 什么宝石可能有用?

那里有各种各样的东西。您最终必须仔细检查哪些最适合您。 shoulda, valid_attribute, pickle, factory_girl, faker, fakeweb, fakefs, timecop, rr是我在单元测试中一直使用的一些。

  • 为什么这些宝石有用/必要?

有用,当然,真棒的开发人员已经为你的生活带走了一些“轮子创造”。

必要,也许吧。这个答案最终取决于你的目标和方法。

  • 我应该重新考虑Test :: Unit吗?为什么?

当然,为什么不呢。它不会伤害。这就像品尝你从未尝试过的食物。如果你没有真正的品味,你怎么知道你喜不喜欢。

最终,如果您认真考虑代码,我认为您不会出错。