Я пишу тест для некоторого кода, который проверяет значение в os.environ
(я знаю, что это не оптимально, но я должен пойти с ним). Я хотел бы удалить запись из os.environ в течение всего теста. Я не уверен, что макет поддерживает это. Я знаю, что patch.dict
может использоваться для изменения элемента, но я хочу, чтобы пара ключ/значение удалялась. Мне хотелось бы что-то в этом направлении:Использование python mock для временного удаления объекта из dict
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 не работает, потому что я это сделал :) Ваше решение работает для меня. –