Gibt es eine einfache Möglichkeit, lose definierte dict-Objekte in Python nachzuahmen? Zum Beispiel, wie kann ich leicht ausdrücken, dass bei einem dict input
, ich möchte überprüfen, ob jeder Wert in es entspricht einer bestimmten Meta-Definition, wie Minimum und Maximum Werte, Längen und Typen?Eine einfache Möglichkeit, lose definierte Python-Dict-Objekte nachzuahmen
Dies kann zum Beispiel beim Schreiben von Tests hilfreich sein.
In mock (unittest.mock in Python-Versionen 3.3+) kann man festlegen, dass ein Wert ANY
Wert sein kann, wie in
>>> mock = Mock(return_value=None)
>>> mock('foo', bar=object())
>>> mock.assert_called_once_with('foo', bar=ANY)
Was aber, wenn bar
oben sollte ein dict-ähnliches Objekt sein, wie
>>> {'baz': <an integer between -3 and 14>, 'qux': <'yes' or 'no'>}
9 Minuten, um eine Bibliothek zu schreiben, nett –