rspec:测试是否从方法调用方法

时间:2017-07-05 23:47:25

标签: ruby rspec

我想测试是否从foo调用方法foo1。这是我的代码

class C 

    def foo1
        puts "called"
    end 

    def foo
        puts foo1
    end 

end




describe C
    it "called"
            expect(C.new.foo).to receive(:foo1)
    end
end

但我在第expect(foo_).to receive(:foo1)行上遇到错误:

syntax error, unexpected keyword_end, expecting end-of-input

1 个答案:

答案 0 :(得分:0)

以下是您的代码的固定版本:

class C 
  def foo1
    puts "called"
  end 

  def foo
    puts foo1
  end 
end



describe C do
  it "called" do
    c = C.new
    expect(c).to receive(:foo1)
    c.foo
  end
end
  • describeit块需要完整的do ... end语法才能成为有效的语言。
  • 修正了你的期望。阅读代码是相当不言自明的,但基本上你需要针对正确的对象定义你的期望。
  • Style-guide compliance)每个缩进级别使用两个空格(也称为软标签)。没有硬标签。