使用mocha,supertest和async / await函数开发节点js的单元测试,但是我得到错误"解析方法被过度指定"

时间:2017-07-07 08:18:39

标签: node.js async-await mocha

使用mocha,supertest和async / await函数开发NodeJs REST API的单元测试,但是我得到了以下错误, 我正在使用带有异步和等待关键字的箭头函数。

Error: Resolution method is overspecified.

所以有人可以帮助我吗?

1 个答案:

答案 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回调。