我正在編寫一些代碼,檢查os.environ
(我知道這不是最佳的,但我必須去用它)的值的測試。我想在測試期間從os.environ中刪除一個條目。我不確定模擬是否支持這一點。我知道patch.dict
可用於修改項目,但我希望刪除鍵/值對。我想沿着這些線:使用Python的模擬臨時刪除字典中的對象
print os.environ
{ ... , 'MY_THING': 'foo', ... }
with mock.patch.dict.delete('os.environ', 'MY_THING'):
# run the test
# ('MY_THING' in os.environ) should return False
# everything back to normal now
print os.environ
{ ... , 'MY_THING': 'foo', ... }
有沒有辦法執行這樣的壯舉?
mock.patch.dict不能這樣工作,因爲我做到了:)儘管你的解決方案適用於我。 – 2015-03-24 21:43:07