テスト スイートでいくつかの組み込み関数の名前を変更することを検討していましたが、そうするとグローバルな効果があることがわかりました (ローカルでのみ効果があると予想していたのに)。例えば:
import time
def test():
time.sleep = "hello" #woah there! time is mutable so this won't just apply locally!
print time.sleep #prints <built-in function sleep>
test()
print time.sleep #prints hello (!)
time.sleep
の終わりに以前の状態に戻さなければなりませんtest()
か?
これは落胆することですか...この種のテストをどのように行うべきですか?