クラスのテストを書いているときに、興味深い単純な問題に遭遇しました。いくつかのリストを含む 2 つの辞書に DictEqual をアサートしたいと思います。しかし、このリストは同じ方法でソートされない可能性があります -> その結果、テストが失敗します
例:
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