假设我有一些控制器逻辑:
// registered for route POST /login
function login(req, res, next) {
User.findOne({username: req.body.username}).exec()
.then(user => {
if (user) {
return bcrypt.compareAsync(req.body.password, user.password)
} else {
throw new APIError("Unauthorized", 401)
}
})
.then(some more chained promises)
.catch(next)
}
Run Code Online (Sandbox Code Playgroud)
但是当在控制器中测试悲伤路径时,它总是给出超时错误:
it('throws unauthorized error if no user match', () => {
return request(app)
.post('/login')
.send({ username: 'notExistInDB', password: 'asdfasd'})
.expect(401)
})
Run Code Online (Sandbox Code Playgroud)
此测试失败并显示错误消息:
Error: Timeout of 2000ms exceeded. For async tests …Run Code Online (Sandbox Code Playgroud)