【问题标题】:chai how to check that function returns a promisechai 如何检查该函数是否返回一个承诺
【发布时间】:2018-09-26 11:58:57
【问题描述】:

我正在使用 sinon / chai 和其他一些插件,我可以测试 Promise 及其结果等,但是如何确保函数返回 Promsie?

我意识到,如果其他测试通过(例如,当您使用 return 或 await 运行其余测试并获得预期结果时)这意味着它是一个承诺,但是否有类似以下内容:

expect(foo).to.return.a('promise')

编辑:不幸的是,建议的帖子没有通过单元测试回答我的问题,但我确实找到了答案:

let result = foo();
expect(result).to.be.a('promise');

【问题讨论】:

  • @laggingreflex 这不是重复的,问题是关于你如何使用 chai 来做到这一点
  • @mankind 我建议您将解决方案发布为答案,而不是编辑您的问题。

标签: node.js unit-testing sinon chai


【解决方案1】:
expect(result instanceof Promise).to.be.eql(true)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-09
    • 2021-02-22
    • 2017-05-16
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    相关资源
    最近更新 更多