期望libarary TypeError:expect(...)。toInclude不是函数

时间:2018-03-08 20:11:34

标签: javascript unit-testing supertest

我猜它是某种导入错误,但我似乎无法弄清楚如何,期望是最新的,我无法让它在没有它的情况下运行说

  

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

});

3 个答案:

答案 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

希望它可以帮助.. :)