我正在设置一个rails应用程序,我刚刚完成了一些单元测试,我的朋友说显然固定装置不再很酷,人们现在正在使用RSpec或者应该.我想知道使用这些其他工具包的实际好处是什么.任何信息都是值得赞赏的.
-fREW
我个人更喜欢Shoulda和RSpec.我发现Shoulda的语法比RSpec少.我与RSpec的问题是,没错这就是可读性很强,当我大声读出来,但是当我去写它,hmmmm,我无法知道如何给定的断言应该被写入.Prag Dave比我更好地解释了这个问题.他也喜欢Shoulda并且有一些例子.
RSpec和类似的框架是旨在帮助行为驱动开发的工具.它们不仅仅是编写测试的更漂亮的方式,尽管它们确实有助于此.
这里有大量关于BDD的信息:http://behaviour-driven.org/ 和维基百科:http://en.wikipedia.org/wiki/Behavior_Driven_Development
这里列出的好处太多了,所以我建议稍微浏览一下这个网站.
这里有两个不同的东西:
第一件事是用于编写测试/规范的框架.在这里您可以选择Test :: Unit,RSpec,Shoulda等.您可以选择是否要进行传统的TDD(测试::单元),或者您是否更喜欢考虑规范David Chemlinsky(RSpec和某种程度上的应用)等开发人员所倡导的行为的替代方法.
第二件事是如何处理测试数据.有一些Rails装置和替代品与其他目标一起设计,例如FixtureReplacement插件.在Rails 2.0灯具具有重要且记录良好的实际问题之前.许多实际问题已在Rails 2.0中修复.然而,固定装置可能导致无意的测试耦合,并且一些替代方案试图避免这种情况.