2017-08-01 20 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(); 

然后你就可以通过值迭代,并与任何测试检查它们你喜欢的逻辑。

相关问题