【发布时间】:2020-06-28 07:35:34
【问题描述】:
我是 jest 单元测试以及 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.
【问题讨论】:
-
我认为你应该模拟 get 请求
-
con.connect();是什么。请提供被测的最小可重现代码。
标签: node.js api unit-testing jestjs