【发布时间】:2019-08-17 11:20:31
【问题描述】:
我有这样的代码:
class ClassB
def print_letter(arg)
end
end
class ClassA
def self.my_method
ClassB.print_letter("a")
ClassB.print_letter("b")
end
end
RSpec.describe ClassA do
describe "self.my_method" do
it "prints a" do
allow(ClassB)
expect(ClassB).to receive(:print_letter).once.with("a")
described_class.my_method
end
end
end
我失败了:
#<ClassB (class)> received :print_letter with unexpected arguments expected: ("a") got: ("b")
我可以用它做些什么吗?有什么方法可以强制receive 方法分析所有方法调用并选择参数匹配的那个,而不仅仅是最后一个?顺便说一句,这种行为让我感到困惑。
【问题讨论】:
标签: ruby-on-rails-3 rspec