如何解决我如何使用 Mocha 和 Chai 对 Node 创建的端点进行异步测试?
describe('Notifications API',()=>{
/*Getting All Notification*/
describe('getNotifications',()=>{
it('it should GET all the notifications',async () => {
const result = await chai.request(app).get('/getNotifications');
result.should.have.status(200);
});
});
})
解决方法
您可以这样做以不使用async/await
:
describe('Notifications API',() => {
/*Getting All Notification*/
describe('getNotifications',() => {
it('it should GET all the notifications',(done) => {
chai.request(app)
.get('/getNotifications').then(result => {
result.should.have.status(200);
done()
}).catch(e => {
done(e)
})
});
});
})
另外,我已经使用 await
测试了您的代码并且它可以正常工作。
it('Prueba',async () => {
const result = await chai.request('https://stackoverflow.com').get('/');
return result.should.have.status(200);
})
确保您的 API 在不到 2 秒的时间内返回数据并添加一个 return
(尽管这不是绝对必要的)。
提示:不要将您的路径称为 getNotifications
,将其称为 /notifications
更有意义。您使用的动词表示您想做的事情,而不是路径。
您在请求中使用了 get
动词,因此将 get
添加到路径中是多余的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。