所以我希望覆盖测试文件中的反引号,并将其应用于测试期间调用的所有脚本。测试文件使用了几个类(保存在其他文件中),当这些类使用反引号时,我在测试文件中的覆盖不适用。
例如以下是测试文件(tc_some_test.rb
)
module BacktickURI
def `(uri)
# `untrick beautifier
puts "uri = #{uri}\n"
if uri =~ /some command/
puts "command ran #{uri}\n"
else
system("#{uri} 2>&1")
end
end
end
include BacktickURI
对于 tc_some_test.rb
中使用的所有反引号,这有效,但调用的外部类和脚本仍然使用正常的、未覆盖的反引号。
感谢任何帮助。另一种方法是从一个脚本/文件中覆盖另一个脚本/文件中的方法。
最佳答案
输入 irb:
define_singleton_method '`' do |*| puts 'kokot' end
`ls`
#=> kokot
关于ruby - 覆盖反引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14391054/