好的。我试图在这里阅读其他问题,但仍未找到明确的答案。柴测试对象的数组以“包含类似”对象子匹配
如何在使用chai的数组中声明部分对象匹配? 类似以下内容:
var expect = require('chai').expect;
var data = [ { name: 'test', value: 'bananas' } ];
expect(data).to.be.an('array').that.contains.somethig.like({name: 'test'});
只是为了澄清,我的目的是让尽可能接近地提供的示例。
- 到链上的和
- 后只提供局部对象作为参数(不像chai-subset)。
我真的认为expect(data).to.be.an('array').that.deep.contains({name: 'test'});
会工作,但它不会失败,因为它不是一个部分匹配,我有点拧在那里。
好吧,我必须承认我根本不喜欢'containSubset'命名和额外的括号。我希望能找到一个纯粹使用'chai'的解决方案,但我想不是这样的。我试着挖掘一下'.contains.something.like({...})'版本(同时使用'chai-things'和'chai-like'),我喜欢听起来很自然,而我我发现[为什么](https://github.com/zation/chai-like/pull/12)它[不工作](https://stackoverflow.com/q/41726208/336753)在第一名。我知道..两个插件,而不是一个,但我只是更喜欢措辞和更简单的参数。 – kub1x