在爲我的課寫一些測試時,我遇到了一個有趣的簡單問題。我想斷言包含一些列表的DictEqual兩個字典。但是這名單可以不在同一方式進行分類 - >導致測試失敗Python單元測試 - 用列表聲明字典
例子:
def test_myobject_export_into_dictionary(self):
obj = MyObject()
resulting_dictionary = {
'state': 2347,
'neighbours': [1,2,3]
}
self.assertDictEqual(resulting_dictionary, obj.exportToDict())
這無法從時間到時間,具體取決於要素的順序列表
FAIL: test_myobject_export_into_dictionary
------------------------------------
- 'neighbours': [1,2,3],
+ 'neighbours': [1,3,2],
任何想法如何以簡單的方式來斷言?
我正在考慮在比較之前使用set
而不是list
或排序列表。
如果你有這個問題的很多實例,我建議查看[@Jon Reid](http://stackoverflow.com/a/14493005/881224)的答案。 – Droogans