如何使用 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
我可以使用 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