预期的数组,但在 Jest 中收到了数组
Posted
技术标签:
【中文标题】预期的数组,但在 Jest 中收到了数组【英文标题】:Expected Array but received array in Jest 【发布时间】:2018-02-25 14:46:02 【问题描述】:我在 Jest 中创建了单元(异步)测试。但是当我得到服务器的响应时:
[
name: "My name"
,
name: "Another name"
]
并测试它:
test('Response from server', () =>
get('my-url').end(error, response) =>
expect(response.body).toBe(expect.any(Array))
)
发生了一些错误:
Comparing two different types of values. Expected Array but received array.
当我使用expect(response.body).any(Array)
时它正在工作。但是expect.toBe()
有什么解决办法吗?
【问题讨论】:
expect(response.body).any(Array)
不应该工作。 .any
不存在于来自expect()
的响应中,而是存在于expect
本身。引用的代码给出了这个错误:“TypeError: expect(...).any is not a function”。
【参考方案1】:
您应该使用toEqual
(而不是toBe
)来比较对象和数组。仅将 toBe
用于标量数据类型。如果您想检查响应数据类型,请使用 typeof
运算符
【讨论】:
以上是关于预期的数组,但在 Jest 中收到了数组的主要内容,如果未能解决你的问题,请参考以下文章
如何修复预期值:“1”接收到的数组:[“COUNT (*)”:“1”] 在带有 jest 框架的 TypeORM 中出现错误
预期的数组但收到...(JSON)... AngularJS错误