0

我的背景是 Java,我是 Ruby 新手。我看到了一个名为 Mocka 的模拟/存根框架。我看到了这个示例测试方法:

require 'test/unit'
require 'mocha/test_unit'

class MiscExampleTest < Test::Unit::TestCase
  # ...

  def test_mocking_an_instance_method_on_a_real_object
    product = Product.new
    product.expects(:save).returns(true)
    assert product.save
  end

  #...
end

使用什么机制“自动”创建 Person 类(或对象)的模拟对象?不知道谷歌是为了什么。

如果是这样

product = mock(Product.new)

我很容易得到它。

谢谢你!:)

4

1 回答 1

1

通常,这被称为“猴子修补”。

ruby 有开放类的概念,所以在运行时你可以乱用它。

在 mocha 的特定情况下,我假设它是这里的这段代码:https ://github.com/freerange/mocha/blob/a7bc1b53ace895503b4b5d4915382aead4632e3e/lib/mocha/api.rb#L18-L22

于 2017-01-25T15:08:18.533 回答