类型错误:无法使用 JEST 单元测试读取 NodeJS 中未定义的属性"apply"



我是开玩笑单元测试和 NodeJS 的新手,我正在尝试使用以下代码测试我的 API。

const request = require('supertest');
const quick_registration = require('../../../routes/register/quick_registration_of_user')
describe('Quick Registration of users', () => {
beforeAll(() => {
con.connect();
});
describe("GET / ", () => {
test("It should respond with an array of students", async () => {
const response = await request(quick_registration).get("/api/quickregistration");
expect(response.status).toBe(200);
});
});
})

但是测试一直失败并给我抛出错误

FAIL  tests/routes/register/quick_registration_of_user.test.js
Quick Registration of users
GET /
× It should respond with an array of students (20ms)
● Quick Registration of users › GET /  › It should respond with an array of students
TypeError: Cannot read property 'apply' of undefined
at node_modules/express/lib/router/index.js:635:15
at next (node_modules/express/lib/router/index.js:260:14)
at Function.handle (node_modules/express/lib/router/index.js:174:3)
at Server.router (node_modules/express/lib/router/index.js:47:12)
Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        1.649s, estimated 2s
Ran all test suites.
Jest did not exit one second after the test run has completed.
This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue.

我假设这条线

const quick_registration = require('../../../routes/register/quick_registration_of_user')

需要已定义路由器的文件。相反,您需要在其中定义应用的文件。

最新更新