【问题标题】:Unit Testing using mocha, node使用 mocha、node 进行单元测试
【发布时间】:2019-04-11 17:40:47
【问题描述】:

我是 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 块中进行控制台操作,我根本不会收到任何错误。

我做错了什么?

【问题讨论】:

    标签: node.js mocha.js


    【解决方案1】:

    尝试async/await 样式。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-19
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 2018-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多