2013-10-03 31 views
0

我有一个方法,其中symbol_price是一个散列,其中键为符号,价格为值。Ruby的Groovy的metaclass.method_name相当于

def get_price_for_symbol(symbol_price, symbol) 
    symbol_price[symbol] 
end 

在Groovy中,如果我们想要模拟出主类方法get_price_for_symbol我们在测试类写:

object.metaClass.get_price_for_symbol = { symbol_price, symbol -> 99.987 } 

我们如何做类似的事情在Ruby中?

+0

是的。符号价格是测试类中的散列 –

+0

我的歉意(用非常红的脸书写)。不知何故,我没有注意到散列是一个论点!我建议你删除你的评论,然后我将删除这一个。 –

回答

0

Ruby中最等同的东西是重新定义你的测试中的方法,但你应该考虑使用依赖注入来避免做这种事情。无论如何,这里我们去:

instance = Object.new 

def instance.get_price_for_symbol(_, _) 
    99.987 
end