为什么 Jest 向我发送此超时错误?

Why Jest is sending me this timeout error?

实际上此代码不起作用,错误消息是:抛出:“测试超时超过 5000 毫秒。 如果这是一个长 运行 测试,请使用 jest.setTimeout(newTimeout) 增加超时值。"

我 1 周以来一直受阻,有人可以帮助我吗?当我在 postman 上调用路由 /login 时,它的工作完美

const session = require('express-session')
const res = require('express/lib/response')
const request = require('supertest')
const app = require("../routes/routes")

describe('test POST', () => {


    it('login', async () => {

        let result = await request(app)
        .post('/login')
        .send({
            loginID:"1705",
            loginPwd:"17051999"
        })

    
  
    
    })
 
})

我尝试增加超时时间,但也不起作用

这是post路线

app.post('/login', (req, res) => {
    console.log(req.body)
    let id = req.body.loginID
    let mdp = req.body.loginPwd

    if (id != '' && id != undefined) {
        if (mdp != '' && mdp != undefined) {
            let Login = require('../models/M_Login')
            Login.testLogin(id,mdp, (result, id) => {
                console.log(result)
                switch (result.resultCode) {
                    case 0:
                        req.session.infoUser = result
                        req.session.infoUser.loginNo = id
                        req.session.success = 'Connexion réussie'
                        res.redirect('/accueil')
                        break
                    case 2001:
                        req.session.error = 'Identifiant inconnu'
                        res.redirect('/')
                        break
                    case 2002:
                        req.session.error = 'Mot de passe incorrect'
                        res.redirect('/')
                        break
                    case 1003:
                        req.session.error = 'Compte bloqué veuillez contacter l\'administrateur'
                        res.redirect('/')
                        break
                }
            })
        } else {
            req.session.error = 'Vous devez renseigner votre mot de passe'
            res.redirect('/')
        }
    } else {
        req.session.error = 'Vous devez renseigner votre identifiant'
        res.redirect('/')
    }


})

这里是调用 API

的函数

const axios = require('axios').default;
const { baseUrlServer } = require('../server')


class M_Login {

    static testLogin(id, mdp, cb) {

        axios.post(baseUrlServer + '/login/loginPwd', {
            "loginNo": id
            , "loginPwd": mdp
            , "domainNo": 0
        })
            .then(function (res) {
                cb(res.data, id)
            })
            .catch(function (error) {
                cb(error)
            })

    }

}

module.exports = M_Login

如果你想测试你的 API 调用,我建议你模拟你的 API 响应

编辑:我发现了问题,它在 routes.js

的 req.session 上

我认为那个笑话不知道快速会话,这就是为什么测试永远不会完成的原因