gpt4 book ai didi

Python - 模拟导入字典

转载 作者:行者123 更新时间:2023-12-04 23:14:56 26 4
gpt4 key购买 nike

在我要测试的代码顶部,我有一个导入,例如:

from resources import RESOURCES

在哪里 RESOURCES是一个值字典。

我如何在测试中模拟它?

我想要的是,无论真实模块中有什么,都返回一个众所周知的字典。

例如在一个测试中我想要 RESOURCES成为:
{
'foo': 'bar'
}

而在另一个测试中,我希望它是:
{
'something': 'else'
}

最佳答案

我到达 patch 的方式RESOURCE对象正在使用:

from default import RESOURCES
from mock import patch

with patch.dict(RESOURCES, {'foo': 'bar'}, clear=True):
assert(RESOUCES['foo'], 'bar')

请注意,您需要在测试套件中导入要修补的字典

也可以使用装饰器语法:
from default import RESOURCES
from mock import patch

@patch.dict(RESOURCES, {'foo': 'bar'}, clear=True)
def test(self):
self.assert(RESOUCES['foo'], 'bar')

关于Python - 模拟导入字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44856172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com