Piszę doctest dla funkcji, która wyprowadza słownik. Doctest wyglądaJak przetestować równość słownikową za pomocą pakietu doctest pakietu Python?
>>> my_function()
{'this': 'is', 'a': 'dictionary'}
Kiedy go uruchomić, nie jest on z
Expected:
{'this': 'is', 'a': 'dictionary'}
Got:
{'a': 'dictionary', 'this': 'is'}
mój najlepszy przypuszczenie co do przyczyny tego niepowodzenia jest to, że nie jest sprawdzanie doctest słownika równości, ale __repr__
równość. This post wskazuje, że istnieje sposób na oszukiwanie procesu doctest w sprawdzaniu równości w słowniku. Jak mogę to zrobić?
od dict jest nieuporządkowana, nie można użyć dict jak to jest. musisz przekształcić go w uporządkowany obiekt. – ornoone
Poniższe odpowiedzi znajdują się w dokumentacji dokumentacji doctest: http://docs.python.org/2/library/doctest.html#warnings –
@ornoone Ale dlaczego? Są to obiekty równe, to właśnie powinien sprawdzić doctest. – endolith