chai - 期望数组包含带有一对所需键和值的 JSON

Sup*_*ate 1 json chai

我想使用chai来“期望”数组包含一个 JSON 对象,该对象具有一对所需的键和值或不包含。

例如,我的数组如下所示:

[{ path: '/products/setImage', message: 'hello', ... }, {...}]
Run Code Online (Sandbox Code Playgroud)

我想检查该数组是否包含一对路径:“/products/setImage”在此数组中的任何 JSON 元素中。

Ger*_*oth 5

我可以通过使用chai-subset插件来实现这一点:

const chai = require('chai')
const expect = chai.expect
const chaiSubset = require('chai-subset')
chai.use(chaiSubset)

let x = [
    { path: '/products/setImage', message: 'hello', foo: 'bar' },
    { foo: 'baz'}
]

expect(x).to.containSubset([{path: '/products/setImage'}])
expect(x).not.to.containSubset([{path: '/products/setImages'}])
Run Code Online (Sandbox Code Playgroud)