In un test di unità ho bisogno di verificare se i metodi alias definiti da alias_method sono stati definiti correttamente. Potrei semplicemente utilizzare gli stessi test sugli alias utilizzati per i loro originali, ma mi chiedo se esista una soluzione più definitiva o più efficiente. Ad esempio, esiste un modo per 1) dereferenziare un metodo alias e restituire il nome originale, 2) ottenere e confrontare qualche tipo di identificatore o indirizzo del metodo sottostante, oppure 3) ottenere e confrontare le definizioni dei metodi? Ad esempio:Esiste un modo elegante per verificare se un metodo di istanza è un alias per un altro?
class MyClass
def foo
# do something
end
alias_method :bar, :foo
end
describe MyClass do
it "method bar should be an alias for method foo" do
m = MyClass.new
# ??? identity(m.bar).should == identity(m.foo) ???
end
end
Suggerimenti?
possibile duplicato [E 'possibile identificare i metodi alias in Ruby?] (Http://stackoverflow.com/questions/3676834/is-it-possible-to -identify-aliased-methods-in-ruby) –