Tôi đang viết một tài liệu cho một hàm xuất ra từ điển. Các doctest trông giống nhưLàm cách nào để kiểm tra sự bình đẳng từ điển với gói doctest của Python?
>>> my_function()
{'this': 'is', 'a': 'dictionary'}
Khi tôi chạy nó, nó không thành công với
Expected:
{'this': 'is', 'a': 'dictionary'}
Got:
{'a': 'dictionary', 'this': 'is'}
đoán tốt nhất của tôi như là nguyên nhân của sự thất bại này là doctest không kiểm tra bình đẳng từ điển, nhưng __repr__
bình đẳng. This post chỉ ra rằng có một số cách để lừa doctest vào kiểm tra bình đẳng từ điển. Tôi có thể làm cái này như thế nào?
từ dict là không có thứ tự, bạn không thể sử dụng dict như nó được. bạn phải chuyển đổi nó thành một đối tượng được đặt hàng – ornoone
Các câu trả lời được liệt kê dưới đây đều nằm trong tài liệu doctest: http://docs.python.org/2/library/doctest.html#warnings –
@ornoone Nhưng tại sao? Họ là những đối tượng bình đẳng, đó là những gì doctest nên được kiểm tra. – endolith