我正在为一些检查值的代码编写测试os.environ
(我知道这不是最佳的,但我必须接受它)。我想在测试期间从 os.environ 中删除一个条目。我不确定 mock 是否支持这一点。我知道patch.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', ... }
有没有办法完成这样的壮举?