javascript - Chai deep.include 抛出错误“Uncaught AssertionError:预期......”
问题描述
我正在使用mocha和chai进行测试。res.body.data
是一个对象数组。
当我直接通过它检查一个数组项时,to.include
它工作正常,但是当我尝试通过to.deep.include
.
我被卡住了请帮忙!
res.body.data = [{
createdAt: 1573147796,
id: "36d337d4-0184-11ea-acb9-0e4ed9667580",
message: "Good",
name: "John Doe",
rate: 5
}]
//Running test
expect(res.body.data).to.be.an('array');
expect(res.body.data[0]).to.include({ //This works fine!
message: "Good"
});
expect(res.body.data).to.deep.include({ //But this trows an error
message: "Good"
});
//Uncaught AssertionError: expected [ Array(1) ] to deep include { message: 'Good' }
done();
解决方案
Deep.include严格检查数组是否有成员{message: "Good"}
。测试失败,如果目标数组元素有另一个字段规范有错误的描述。用于检查数组是否包含包含{ message: "Good" }
expect(res.body.data.some((item) => item.message === "Good")).to.equal(true);
当数组的至少一个元素包含时,测试通过{ message: "Good" }
推荐阅读
- r - 将函数调用向量折叠成一行,用 & 分隔每个调用,使用替代和归约?
- java - 为什么设置
有时打印排序值,有时不打印? - javascript - WEBHID API:Inputreport 不使用条码扫描器触发
- c# - 是否可以通过编程方式禁用来自 HttpSys 的日志?
- git - 在 GitLab 存储迁移到散列后修复子模块 url 位置
- dart - 在 Dart null 安全之后如何对 null 值进行多重检查?
- visual-studio-code - 如何修复在 VScode 上找不到的“stdio.h”文件
- python - 如何在python中绘制反函数?
- python - 为所有比较定义类属性
- hibernate - 添加 Jadira 依赖项后出现 Quarkus 错误