javascript - 诗乃与 Mocha : How to await for a promised to be resolved before assertion in test function?

标签 javascript node.js mocha.js sinon

我有一个文件,

function fetchDevices () {
    device.findAll()
          .then(allDevices =>
             console.log("Fetched for DB")
    )
}

在测试文件中我模拟了设备。现在我想知道/等待此 findAll() 返回一个 promise ,然后在测试函数中继续断言。我已经尝试了很多东西,但 setTimeout 并不是我想要的。

我不能 stub devices 因为我已经用另一个库模拟它,这省去了模拟或 stub 属性的很多麻烦。

非常感谢您的帮助。

最佳答案

改变:

function fetchDevices () {
    device.findAll()
          .then(allDevices =>
             console.log("Fetched for DB")
    )
}

到:

function fetchDevices () {
    return device.findAll()
          .then(allDevices =>
             console.log("Fetched for DB")
    )
}

现在 fetchDevices 返回一个 promise ,您可以然后它。

关于javascript - 诗乃与 Mocha : How to await for a promised to be resolved before assertion in test function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57009072/

相关文章:

javascript - 如何使用 Internet Explorer 发送击键?

javascript - Cytoscape.js,Chrome 无法选择节点

node.js - 是否有任何技术原因可以避免 npm 中的自依赖本地依赖(文件引用)?

node.js - Azure Linux Web App 上 Node 中的 wkhtmltopdf 或 puppeteer

javascript - javascript中for循环内的异步函数调用

node.js - 如何从nodejs终端下载excel文件

javascript - Mocha 不会失败测试

javascript - XML 到 JSON javascript 函数不起作用

javascript - 如何使用 Javascript 隐藏 Shiny 中的操作按钮

node.js - Nodejs - 使用 Mocha 测试 AWS