我正在尝试测试是否使用RSpec执行了动态方法调用。有点麻烦。
我的代码如下:
def self.parse_file
method_name = "parse_#{get_file_type}"
send method_name
end
def self.parse_gz
....
end
假设get_file_type返回“gz”,我想测试从parse_file实例方法调用parse_gz。
最初,我在想下面的事情,但我想我错了......
Class.should_receive(:parse_gz).with(Class.parse_file)
......这不起作用
非常感谢任何帮助...
答案 0 :(得分:0)
您的版本不起作用,因为您从不使用参数调用parse_gz
。请尝试:
Class.should_receive(:parse_file)
或
Class.should_receive(:send).with('parse_gz')
此外,我建议使用新的allow(thing).to receive(method)
语法,而不是旧的thing.should_receive(method)
语法。