【问题标题】:How to mock os.environ['key'] using mockito with python?如何使用 mockito 和 python 模拟 os.environ['key']?
【发布时间】:2021-06-18 07:04:16
【问题描述】:

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

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

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

附言
My google search 结果没什么帮助,所以我在这里问。
我能找到的最接近的是使用built-in unittest.pathpatch.dict(SOMEDICT, {'k':'v'}, clear=True)

【问题讨论】:

    标签: python mockito python-mock


    【解决方案1】:

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

    这是我使用内置 unittest 模拟补丁的解决方案

     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
            
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-29
      • 1970-01-01
      • 2016-05-08
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多