レガシーコードのテストに有用です。。。
legacy.rb
def file_list
`ls /path/to/some_dir`.split
end
test.rb
require './legacy'
orig_method = lambda(&method(:`))
Kernel.module_eval do
define_method(:`) {|*| %w(local lib include).join("\n")}
end
puts file_list #=> ["local", "lib", "include"]
# 元に戻す
Kernel.module_eval do
define_method(:`, orig_method)
end