Jest - expect(...)。toContainEqual不是一个函数

时间:2016-09-29 10:09:57

标签: javascript jestjs

我正在使用Jest来测试我的Node.JS应用程序,当我运行我的测试时,一些内置函数不起作用,似乎它们没有被定义。例如,toContainEqualtoBeInstanceOf

以下是我的代码示例:

it('should delete DB entry', () => query(url, queryString)
    .then(res => res.json()
    .then(() => db.collection('exercises').find({}).toArray()))
    .then(res => expect(res).toContainEqual(originalExercise)))

我得到的错误:

TypeError: expect(...).toContainEqual is not a function

但其他功能(如toEqualtoBeTruthy)可以正常工作。

我正在使用Jest v15.1.1(根据jest -v)。

我该如何处理?

1 个答案:

答案 0 :(得分:8)

toContainEqualtoBeInstanceOf尚未包含在v15.1.1中。要使用这两个匹配器,您需要安装jest@15.2.0-alpha.c681f819,或者等待下一个版本。

根据Jest代码历史记录,toContainEqual于9月20日合并(https://github.com/facebook/jest/pull/1706),toBeInstanceOf于9月7日合并(https://github.com/facebook/jest/pull/1625)。但是,v15.1.1于9月2日发布。

似乎应该更改Jest的API页面,以便不包含未发布的API。