*g* Du kannst aber auch ein unkreativer Geist sein
Probier das hier mal:
Code: Alles auswählen
def test(d):
"""
>>> expected = {'A': 1, 'C': 3, 'B': 2}
>>> got = test({'A': 1, 'C': 3, 'B': 2})
>>> if expected != got:
... assert False, "%s != %s" % (expected, got)
"""
return d
if __name__ == '__main__':
import doctest
doctest.testmod()
Optional kannst du Zeile 5,6 natürlich auch gegen das hier austauschen um eine Zeile zu sparen:
Code: Alles auswählen
>>> assert expected == got, "%s != %s" % (expected, got)
Wenn 'expected != got' (z.B. bei 'return {}', kommt etwas in dieser Art raus:
Code: Alles auswählen
*****************************************************************
Failure in example:
if expected != got:
assert False, "%s != %s" % (expected, got)
from line #3 of __main__.test
Exception raised:
Traceback (most recent call last):
File "C:\_PYTHON_\python23\lib\doctest.py", line 442, in _run_examples_inner
compileflags, 1) in globs
File "<string>", line 2, in ?
AssertionError: {'A': 1, 'C': 3, 'B': 2} != {}
*****************************************************************
Na, hilft Dir das mehr?
---
Und um auf Deine ursprüngliche Frage zurückzukommen:
jens hat geschrieben:Dumm eigentlich das DocTest die Reihenfolge eines dicts wichtig ist
...
Ist doch eigentlich unschön, was?
Joa, "eigentlich" praktisch gesehen schon.