2015-08-28 88 views
0

我有一个JSON数组是这样的:如何使用RestFixture检查JSON数组?

[ 
    { 
     "Id": 1, 
     "Host": { 
      "Id": 1, 
      "LoginId": "abc" 
     } 
    }, 
    { 
     "Id": 2, 
     "Host": { 
      "Id": 3, 
      "LoginId": "def" 
     } 
    } 
] 

我要检查的Host.LoginId == "abc"的发生。如果我的阵列按照固定顺序排列,我可以用jsonbody[0].Host.LoginId=="abc"进行检查。

但是,我的数组没有任何特定的顺序,所以我无法检查第一个元素。我如何检查JSON数组中任何地方的特定发生?

回答

1

GitHub

RestFixture允许如果它是由前面/* javascript */的期望细胞被解释为的JavaScript。它必须返回一个值,该值不能映射到truefalse。但是,使用return语句会引发错误。

下面的代码按预期方式工作:

/* javascript */ 
var found = false; 
for(var x in jsonbody){ 
    if (jsonbody[x].Host.LoginId=="abc") { 
     found = true; 
    } 
} 
found; 

此插入作为一个整体在夹具:

| GET | URL | 200 | Content-Type : application/json | /* javascript */ (etc) |