预期数组但在Jest中接收到数组

时间:2017-09-16 16:22:27

标签: javascript arrays reactjs jestjs

我在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()是否有任何解决方法?

1 个答案:

答案 0 :(得分:6)

您应该使用toEqual(而非toBe)来比较对象和数组。仅将toBe用于标量数据类型。如果您想查看响应数据类型,请使用typeof运算符