したがって、テスト ファイルでバックティックをオーバーライドし、テスト中に呼び出されるすべてのスクリプトに適用したいと考えています。テスト ファイルは (他のファイルに保存されている) いくつかのクラスを使用します。これらのクラスがバッククォートを使用する場合、テスト ファイルにあるオーバーライドは適用されません。
例: 以下は、テスト ファイル ( 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
、これは機能しますが、呼び出される外部クラスおよびスクリプトは、オーバーライドされていない通常のバッククォートを引き続き使用します。
どんな助けでも大歓迎です。代替手段は、あるスクリプト/ファイルのメソッドを別のスクリプト/ファイルからオーバーライドする方法です。