【发布时间】:2021-06-08 07:31:59
【问题描述】:
假设我想检查一个数组是否包含一个元素,该元素具有满足给定断言的字段的特定值,例如:
{ array: [ { element1: Mario, element2: White }, { element1: Luigi, element2: Green } ] }
这里我想检查元素 1 等于马里奥的数组元素的元素 2 等于白色。如何使用 chai/supertest(或其他 npm 包)做到这一点?
【问题讨论】:
假设我想检查一个数组是否包含一个元素,该元素具有满足给定断言的字段的特定值,例如:
{ array: [ { element1: Mario, element2: White }, { element1: Luigi, element2: Green } ] }
这里我想检查元素 1 等于马里奥的数组元素的元素 2 等于白色。如何使用 chai/supertest(或其他 npm 包)做到这一点?
【问题讨论】:
你可以用 jsonpath 模块做到这一点:
var jp = require('jsonpath');
expect(jp.query(json, '$..array[?(@.element1=="Mario")]')[0].element2).to.equal('White')
【讨论】: