使用Mocha,节点进行单元测试

时间:2019-04-10 14:06:33

标签: node.js mocha

我不熟悉Node世界中的单元测试,并且为此感到苦恼:我设置了一个after cb来删除我在测试期间添加的记录,但是我仍然遇到错误Error: done() called multiple times每次我删除数据库上的记录。这是我的代码:

after((done) => {
    User.deleteOne({email: user_email}, function(err, result) {
        if(err) console.log(err);
        console.log(result);
        done();
    });
});

如果我做其他任何事情(例如仅在after块中进行控制台操作,我都不会出错。

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

尝试使用async/await风格。

after(async () => {
   const deleteResult = await User.deleteOne({email: user_email});

   console.log(deleteResult);
});

使用async/await不需要执行完成,因为mocha会自动处理promise。
更多herehere