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

Ruby rspec:测试是否从方法调用了方法,ruby,rspec,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 但是我在第行中得到以下错误,期望(foo_u1;)。接收(:fo

我想测试是否从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
但是我在第
行中得到以下错误,期望(foo_u1;)。接收(:foo1)

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

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

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
  • descripe
    it
    块需要完成
    do。。。结束
    语法,以便成为有效的语言
  • 修正了你的期望。阅读代码是相当不言自明的,但基本上您需要针对正确的对象定义期望
  • ()每个缩进级别使用两个空格(也称为软制表符)。没有硬标签

您需要一个
do
来完成您的区块<代码>它“称为”do,同样地,对于
描述C do
你的问题是什么?