在构造函数中调用测试方法

时间:2011-09-08 19:36:16

标签: ruby rspec

我有以下代码

class SomeClass

  def initialize(opts)
    if opts[:should_load]
      load
    else
      setup(opts[:path])
    end
  end

  def load; end

  def setup; end
end

我想测试是否正在调用适当的方法,但我无法弄清楚如何使用RSpec执行此操作。有什么提示吗?

1 个答案:

答案 0 :(得分:2)

使用Object#any_instance(rspec> = 2.6.0)进行游戏:

SomeClass.any_instance.should_receive(:load)
SomeClass.new(:should_load => true)

SomeClass.any_instance.should_receive(:setup).with("mypath")
SomeClass.new(:path => "mypath")