當運行一個單元測試,我期待一個方法,我測試返回一個嵌套的數組是這樣的:測試嵌套列表是否符合預期的最佳方法是什麼?
[
{:identifier=>"a", :label=>"a label",
:sublist=>[{:identifier=>"sublist z", :label=>"z sublist label"}, {:identifier=>" sublist w", :label=>"sublist w label"}]},
{:identifier=>"b", :label=>"b label",
:sublist=>[{:identifier=>"sublist y", :label=>"y sublist label"}]},
..]
什麼是最優雅的方式來檢查,如果返回的數組是我期望它是?
我正在使用Minitest規範,如果這有什麼區別。
順便說一句,元素的順序並不重要,可能會有所不同。
Thx。
它只是可以重新排序的頂層元素(也就是'b'可以在'a'之前);或者子列表可以重新排序(這是'w'可以在'z'之前)? – Chowlett
@Chowlett b可以在之前,w可以在z之前,並且:標識符可以在之前:label。 – vrepsys
':identifier'和':label'無關緊要 - 無論如何,哈希都是無序的,所以無論「順序」如何,它們都會相等。嵌套列表的重新排序是棘手的... – Chowlett