用于检查对象数组中某些字段的 Chai 断言

Chai assertion for checking certain fields in an object array

我有一个如下所示的对象数组,我只想针对数组中的某些字段进行断言。

对象数组 -

var a = [{"key":"key2","value":"value2","updatedBy":"name1","Dttm":1516849776062},{"key":"key1","value":"value1","updatedBy":"name2","Dttm":1516849776060}]]

我只需要对键和值字段进行断言,而不用担心 updatedBy 和 Dttm,所以类似

expect(a)........([{"key":"key1","value":"value1"},{"key":"key2","value":"value2"}])

您可以组合使用 2 个 chai 插件:chai-thingschai-like

Chai Things:

Chai Things adds support to Chai for assertions on array elements.

Chai Like:

A JSON matcher for chai. This is really useful when you are testing API and want to ignore some attributes like: updatedAt, createdAt, id.

两者都可以编写这样的测试,例如:

//...
expect(a).to.contain.something.like({"key":"key1", "value":"value1"})
expect(a).to.contain.something.like({"key":"key2", "value":"value2"})

以下是两者的安装方法:

npm install --save-dev chai-things chai-like

安装后告诉 chai 使用新插件:

const chai = require('chai')

chai.use(require('chai-like'))
chai.use(require('chai-things'))

进一步阅读和示例的链接:

柴东西:http://chaijs.com/plugins/chai-things/

柴一样:http://chaijs.com/plugins/chai-like/