使用mocha,supertest和async / await函数开发NodeJs REST API的单元测试,但是我得到了以下错误, 我正在使用带有异步和等待关键字的箭头函数。
Error: Resolution method is overspecified.
所以有人可以帮助我吗?
答案 0 :(得分:1)
这是因为默认情况下return function (data) {
if (data[0].selected == 'All Types') {
return data;
}
else {
return data.filter(function (item) {
return item.Type == item.selected;
});
}
};
函数会返回一个promise,并且您也会手动调用done函数,这会让Mocha在实际完成测试时感到困惑。请查看问题here。一个快速而肮脏的解决方案是将异步函数包装在另一个中,而不是像这样的异步函数:
async
但更好的方法是以这样一种方式编写promise,即async函数promise返回的内容在正确的时刻解析,而不是手动调用done回调。