如何使用 mockito 和 python 模拟 os.environ['key']?

How to mock os.environ['key'] using mockito with python?

我可以使用 python mockito 模拟 os.environ.get('SOME_VAR') 作为演示 here
主要思想

when(os.environ).get(...).thenReturn(MOCKED_VAL)

虽然模拟了 os.environ['SOME_VAR'] 语法,但我没能让它像 this 代码一样工作。

p.s。
My google search 结果没什么用,所以我在这里问了。
我能找到的最接近的是使用 patch.dict(SOMEDICT, {'k':'v'}, clear=True)

直到今天使用 mockito 包似乎没有答案。

这是我使用内置单元测试模拟补丁的解决方案

 class TestSomething:

    def test_07_env_production_on(self):
        """mock to force ENVIRONMENT to be production"""
        from unittest.mock import patch
        p = patch.dict(in_dict=os.environ, values={'ENVIRONMENT': 'production'}, clear=False)
        p.start()
        self.addCleanup(p.stop)  # register mockito's unstub() method to unittest's cleanup