0

我喜欢在任何地方使用模拟和存根来保持我的规范快速运行。我对如何在下面测试 find_special 方法感到困惑:

  has_many :foos do 
    def find_special
      if proxy_owner.baz
        ... find stuff
      else
        ... find other stuff
      end
    end
  end

我不介意为此使用 :extend => 模块语法,但我认为这没有什么不同。

4

1 回答 1

1

您是在问如何在 stub 上存根方法proxy_owner吗?在这种情况下,它不是您要调用的对象foos吗?

# in Mocha
item.stubs(:baz).returns(true)
item.foos.find_special # => find stuff
item.stubs(:baz).returns(false)
item.foos.find_special # => find other stuff

这是未经测试的,但也许它会让你接近。

于 2009-08-16T17:17:02.840 回答