Chai深度包含了对嵌套对象的断言
Chai deep contains assertion on nested objects
我试图断言一个对象包含另一个对象(例如,不能使用deep equal),但似乎严格检查了嵌套的对象。
代码示例:
describe('Meta', function () {
it('object should contains a cloned copy', function () {
var obj = {a: 1, b: '2', c: {a: 2, b: '2'}};
return expect(obj).deep.contains(JSON.parse(JSON.stringify(obj)));
});
});
错误消息:
AssertionError: expected { a: 1, b: '2', c: { a: 2, b: '2' } } to have a property 'c' of { a: 2, b: '2' }, but got { a: 2, b: '2' }
有没有什么方法可以实现"深度平等"功能的"包含"?
不要使用contains,而是尝试使用eql:
expect(obj).to.deep.eql(JSON.parse(JSON.stringify(obj)));
eql比较对象中的值。
这就行了。
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- Chai深度包含了对嵌套对象的断言
- '递归到对象'13076断言在MongoDB中失败
- 余烬数据断言失败:无法对未定义的对象使用“查询”调用 get
- 断言在页面对象中不可用?- 无法读取未定义的属性“ok”
- 断言对象上存在可枚举属性
- 柴断言测试对象结构是否至少包含其他对象结构
- 在 Jasmine 中执行有关对象参数的断言
- 在Javascript测试(chai)中断言对象相等
- Mocha,Chai:断言对象包含在对象数组中
- 为什么Ember会抛出“;未捕获错误:断言失败:调用已销毁对象上的集“”;载于ember.js:3722
- 摩卡茶意外断言测试错误从对象等于对象
- 试图断言JSON对象的存在在JSON数组中使用expect js与Karma套件
- 已使用对象断言调用