如何使用RestFixture检查JSON数组?

时间:2015-08-28 07:54:15

标签: rest fixtures fitnesse

我有一个像这样的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 个答案:

答案 0 :(得分: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) |