尝试在我的nodejs api中运行Jest/Supertest,但不断收到TypeError:"app.address不是一个函数"



我正试图开始对我的nodejs api进行集成/单元测试,但我无法通过supertest正确连接到我的app.js文件。

下面的代码写在我的main.test.js文件中

const app = require('../app')
const supertest = require('supertest');
const request = supertest(app)
it('posts color', async () => {
await request.post('/postColor')
.send({
"Color": "Green",
}).expect(201)
})

下面是我的app.js文件

import express from 'express';
const app = express();
export default app;

我把我的index.js文件分解成app.js和index.js两个文件。

我的index.js从app.js导入应用程序,并将其设置为监听我需要的任何端口。我的main.test.js文件从app.js导入应用程序,并根据supertest如上所示使用它。

我一直得到以下错误

TypeError:app.address不是函数

4 |
5 | it('posts color', async () => {
> 6 |     await request.post('/postColor')
|                   ^

我通过在main.test.js文件中添加以下内容来解决此问题:

const app = require('../app').default

最新更新