有没有一种简单的方法可以在 Python 中模拟松散定义的 dict 对象?例如,给定一个字典,我如何轻松表达input
,我如何轻松表达,我想检查其中的每个值是否符合特定的元定义,如最小值和最大值、长度和类型?
能够做到这一点可能很方便,例如,在编写测试时。
在模拟( Python 3.3+ 版本中的unittest.mock)中,可以指定一个值可以是ANY
值,就像在
>>> mock = Mock(return_value=None)
>>> mock('foo', bar=object())
>>> mock.assert_called_once_with('foo', bar=ANY)
但是,如果bar
上面应该是一个类似字典的对象,比如
>>> {'baz': <an integer between -3 and 14>, 'qux': <'yes' or 'no'>}