假设 Frisby 测试需要以下 JSON:
{
array: ["1", "2", "3"]
}
字符串数组可以按任何顺序返回,例如["3", "1", "2"]
。
如何在不期待订单的情况下期待上面定义的数组?
我已经尝试过
.expectJSON('array.?', "1")
.expectJSON('array.?', "2")
.expectJSON('array.?', "3")
但这不是有效的语法,并且会发生以下错误:
TypeError: Expected valid JavaScript object to be given, got undefined
最佳答案
我也遇到了同样的问题,终于解决了。使用 .afterJSON(),您将能够使用 Jasmine 的期望语法对 JSON 对象执行您想要的所有验证。
对于您的示例,脚本将如下所示:
.afterJSON(function(json){
expect(json.array).toContain('1');
expect(json.array).toContain('2');
expect(json.array).toContain('3');
})
关于javascript - Frisby ExpectJSON 包含无序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27997104/