我猜它是某种导入错误,但我似乎无法弄清楚如何,期望是最新的,我无法让它在没有它的情况下运行说
libarary TypeError:expect(...)。toInclude不是函数
var request = require("supertest");
var {app} = require("./../server.js");
var {Show} = require("./../models/show");
var expect = require('expect');
describe("GET /show/:id", () => {
it("Should include the show name 'Arrow' in the body", (done) => {
request(app)
.get(`/show/${showName}`)
.expect(200)
.expect((res) => {
expect('hello world').toInclude('world')
})
.end(done);
});
})
});
答案 0 :(得分:8)
更新:
除了.toMatchObject
,您还可以使用.toHaveProperty
对于使用.toInclude
检查对象是否包含某些字段的任何人,新版本为.toMatchObject
。
这是文档reference
答案 1 :(得分:2)
expect
库最近成为Jest项目的一部分 - 正如this answer所解释的那样,Jest团队稍微更改了API。
现在可以在此处找到expect
的完整文档:https://facebook.github.io/jest/docs/en/expect.html
答案 2 :(得分:0)
如果您遇到类似的问题,那么可以通过在测试文件中导入jest-dom
来解决该问题:
import '@testing-library/jest-dom'
中的xyz.test.js
别忘了安装
jest-dom
以便与jest一起使用:
npm i --save-dev @testing-library/jest-dom
希望它可以帮助.. :)