<分区>
我注意到很多人更喜欢 Mocha 而不是 RSpec 的内置模拟框架。有人可以解释 Mocha 或任何替代方案相对于内置模拟框架的 RSpec 的优势吗?
<分区>
我注意到很多人更喜欢 Mocha 而不是 RSpec 的内置模拟框架。有人可以解释 Mocha 或任何替代方案相对于内置模拟框架的 RSpec 的优势吗?
最佳答案
自从 2009 年提出这个问题以来,Ruby 模拟框架已经有了很大的发展。所以这里有一些 2013 年的比较:
期望
expect(user).to receive(:say_hello)
user.expects(:say_hello).once
stub 对象
user = double(name: 'John Doe')
user = stub(name: 'John Doe')
stub
User.any_instance.stub(:name).and_return('John Doe')
User.any_instance.stubs(:name).returns('John Doe')
它们提供相同的功能,并且都可以使用或不使用 Rspec。
所以我会说选择一个而不是另一个是个人品味的问题(而且它们的味道非常相似)。
关于ruby-on-rails - 与 RSpec 的内置模拟框架相比,Mocha 有哪些优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1406692/
相关文章:
ruby-on-rails - 高级 Rails 模式 : organizing views around nested doc, 章节,页面层次结构
ruby-on-rails - 获取 has_many 关联时出错,TypeError : can't convert String into Integer
ruby-on-rails - Rails 在模型中设置默认 boolean 值
java - 无法使用 PowerMock 模拟 httpClient.execute 方法
ruby-on-rails - 如果参数为空,如何从数据库 Rails 设置默认值
ruby - 如何从 sinatra 应用程序中发布的 JSON 中捕获参数哈希