Sto scrivendo un doctest per una funzione che genera un dizionario. Il doctest sembraCome posso testare l'uguaglianza dei dizionari con il pacchetto doctest di Python?
>>> my_function()
{'this': 'is', 'a': 'dictionary'}
quando l'eseguo, non riesce con
Expected:
{'this': 'is', 'a': 'dictionary'}
Got:
{'a': 'dictionary', 'this': 'is'}
La mia ipotesi migliore per quanto riguarda la causa di questo fallimento è che doctest non sta controllando l'uguaglianza dizionario, ma __repr__
uguaglianza. This post indica che esiste un modo per ingannare doctest nel controllo dell'uguaglianza dei dizionari. Come posso fare questo?
dal dict è ordinata, non è possibile utilizzare la dict così com'è. devi trasformarlo in un oggetto ordinato – ornoone
Le risposte elencate di seguito sono tutte nella documentazione doctest: http://docs.python.org/2/library/doctest.html#warnings –
@ornoone Ma perché? Sono oggetti uguali, ecco cosa dovrebbe controllare il doctest. – endolith