结构更改时的Python单元测试

结构更改时的Python单元测试,python,unit-testing,Python,Unit Testing,使用以下示例数据: { "query":{ "pages":{ "25618423":{ "pageid":25618423, "ns":0, "title":"1983 Wimbledon Championships - Women's Singles" }, "23826062":{

使用以下示例数据:

 { "query":{
          "pages":{
             "25618423":{
                "pageid":25618423,
                "ns":0,
                "title":"1983 Wimbledon Championships - Women's Singles"
             },
             "23826062":{
                "pageid":23826062,
                "ns":0,
                "title":"1984 French Open - Women's Singles"
             },
             "29486043":{
                "pageid":29486043,
                "ns":0,
                "title":"1984 Wimbledon Championships - Women's Doubles"
             },
             "25618558":{
                "pageid":25618558,
                "ns":0,
                "title":"1984 Wimbledon Championships - Women's Singles"
             }}}
我提取每个对象:

{ "pageid":25618423, "ns":0, "title":"1983 Wimbledon Championships - Women's Singles"}
并添加到数组中。它似乎有效,但我想进行单元测试以确保

因此,我创建了一个完整的阵列进行测试。针对这一点,我测试了通过函数处理的原始数据。然而,虽然数据的内容没有改变,但每个元素的顺序都会改变。因此,当我使用assertEqual时,它失败了

这是一种不好的单元测试方法吗?我是否使用了错误的断言


谢谢

字典是无序的。作为
\uuuu repr\uuuu
分配给他们的顺序对任何事情都不重要。如果不查看unittest代码,就不可能知道错误在哪里,但如果一切正常,这并不是一个不稳定的排序错误。您还可以在比较之前对列表进行排序
mySortedArray=sorted(myArray,key=lambda page:page['pageid'])
这将根据pageid对列表进行排序