2017-08-01 55 views
0

我試圖創建郵差測試,並且我有一個響應,其中包含一個返回50+值的數組,我需要驗證,所以遠遠我一直在寫每個測試項目。郵差測試 - 如何在沒有定義索引的情況下搜索數組列表中的值列表

var searchJSON = JSON.parse(responseBody); 
tests["check_group_name1"] = /name1/.test(searchJSON.Entity.Group[0].Name); 
tests["check_group_name2"] = /name2/.test(searchJSON.Entity.Group[1].Name); 
tests["check_group_name3"] = /name3/.test(searchJSON.Entity.Group[2].Name); 

問題是,如果此API發生變化,維護和更新每個索引值將是一場噩夢。

有沒有辦法使用循環來驗證50 +值,而不取決於數組中的每個索引位置?它甚至有可能嗎?

這是什麼樣的反應是這樣的:提前

{ 
"Entity":{ 
    "Group": [ 
    { 
     "Name": "name1", 
    }, 
    { 
     "Name: "name2", 
    }, 
    { 
     "Name: "name3", 
    }, 
    ], 
    } 
} 

感謝。

回答

1

比方說,你開始與陣列

[ 
    {'Name': 'name1'}, 
    {'Name': 'name2'}, 
    {'Name': 'name3'} 
] 

你可以把所有的值進行到列表這樣

string json = @" 
[ 
    {'Name': 'name1'}, 
    {'Name': 'name2'}, 
    {'Name': 'name3'} 
]"; 

JArray arr = JArray.Parse(json); 
List<string> names = arr.Select(token => token.SelectToken("Name").Value<string>()).ToList(); 

然後你就可以通過值迭代,並與任何測試檢查它們你喜歡的邏輯。

相關問題