用于检查对象数组中某些字段的 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-things
和 chai-like
。
Chai Things adds support to Chai for assertions on array elements.
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'))
进一步阅读和示例的链接:
我有一个如下所示的对象数组,我只想针对数组中的某些字段进行断言。
对象数组 -
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-things
和 chai-like
。
Chai Things adds support to Chai for assertions on array elements.
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'))
进一步阅读和示例的链接: