2010-07-21 60 views
7

我见过很多过时的播客,提到摩卡作为我想要安装的宝石,因为它确实嘲笑更好,然后rspec。我有一种感觉,那就是rspec开发者已经接触到这一点,并从那以后改进了他们的嘲笑。然而,在默认spec_helper.rb文件我看到一些注释掉的代码存根三个嘲讽框架rspec mocking与其他嘲讽框架有什么优缺点?

  • mocha
  • flexmock
  • rr

给予好评的人谁可以给我一个像样的答案这些框架中至少有一个与rspec自己的嘲讽框架相关。

我会接受一个答案,如果你可以让我休息一下倒在所有三个与rpsec

回答

3

真的,这只是一个品味的问题。看看语法,并使用模拟框架来查看最适合您的是什么。当然,使用RSpec的内置嘲讽最快最容易。而且,正如你所提到的,RSpec的开发者已经从其他框架中得到了线索......你会发现他们之间有很多相似之处。

以前曾询问过此问题:请参阅the details there以了解一些差异(至少在RSpec :: Mock和Mocha之间)。

1

我们使用内置rspec嘲讽,直到最近我们切换到摩卡。我的同事写了一篇博客文章中的陷阱和一些有关的推理:
http://developer.newsdesk.se/2010/05/29/migrating-rspec-to-mocha/

基本上,我们希望摩卡的any_instance方法,如果你不能得到你想要嘲笑的实例,它是非常有用的。不是一个巨大的优势,但足以让它值得我们的时间。

+1

any_instance不再是rspec mocks和mocha之间的区别:https://www.relishapp.com/rspec/rspec-mocks/docs/method-stubs/stub-on-any-instance-of-a-class – justingordon 2013-05-02 06:12:15