如何让Python MagicMock对象支持JSON序列化?
问题:让MagicMock对象支持JSON序列化(无需修改
json.dumps调用) 我在为第三方包使用Python Mock对象时,遇到一个需求:第三方包需要对我的mock进行JSON序列化,且我无法修改json.dumps的调用方式。
之前曾通过继承dict实现了可被序列化的对象,示例代码如下:
class FileItem(dict): def __init__(self, fname): dict.__init__(self, fname=fname) f = FileItem('tasks.txt') json.dumps(f) # 此处无需做任何修改
但我的场景要求对象必须是MagicMock类型,因此尝试了多重继承的方式:
class FileItem(MagicMock, dict): def __init__(self): MagicMock.__init__(self) dict.__init__(self)
遗憾的是该多重继承方案并未生效。补充说明:第三方库无需对序列化结果进行反序列化,也不会使用该MagicMock的JSON序列化内容。
内容的提问来源于stack exchange,提问作者calmcc
相关产品推荐
相关产品推荐

