Expect libarary TypeError: expect(...).toInclude is not a function

Expect libarary TypeError: expect(...).toInclude is not a function

我猜这是一个不知何故的导入错误,但我似乎无法弄清楚如何,expect 是最新的而且我也无法得到它运行 没有它说

libarary TypeError: expect(...).toInclude is not a function

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);
        });
    })

});

expect 库最近成为 Jest project - the Jest team changed the API a little, as 说明的一部分。

现在可以在此处找到 expect 的完整文档:https://facebook.github.io/jest/docs/en/expect.html

更新: 除了.toMatchObject,你还可以使用.toHaveProperty


对于使用 .toInclude 检查对象是否包含某些字段的任何人,新版本是 .toMatchObject

这是文档reference

如果您遇到类似的问题,可以通过在测试文件中导入 jest-dom 来解决: import '@testing-library/jest-dom' 在你的 xyz.test.js

Don't forget to install jest-dom in order to use it with jest:

npm i --save-dev @testing-library/jest-dom

希望对您有所帮助.. :)