Express + Mocha,测试异步中间件

时间:2019-09-05 12:25:41

标签: unit-testing express mocha

我有auth.handler中间件,该中间件调用了一些我在使用mocha&chai进行测试时遇到问题的异步函数,使用done()对此没有帮助,示例代码:

中间件

async function authHandler(req, res, next) {
    const token = req.headers.authorization.split(' ')[1]
    const validCredential = await AuthService.verifyAccess(token)

    if (!validCredential) {
        next(new Error('Invalid credential')
    }

    next()
}

测试

it('should return error', async () => {
    const token = 'invalid-token'
    const { req, res} = mockSetup(token)

    await authHandler(req, res, function next(error) => {
         expect(res.status).to.be.equal(500)
         expect(error.message).to.be.equal('invalid credential')
    })
})

0 个答案:

没有答案