【问题标题】:need to convert promise value in chai-as-promised expression需要在 chai-as-promised 表达式中转换承诺值
【发布时间】:2014-07-08 21:26:58
【问题描述】:

我有一个可以解析为对象的承诺。这个对象有一个我需要测试的方法.toString。所以我下面的表达式失败了,因为 promise 是一个对象,我将它与一个字符串进行比较:

chai.expect(mypromise).to.eventually.be.equal('1.4')

我需要调用mypromise.toString() 并在控件到达equal('1.4') 之前在某处使用它。有可能吗?

【问题讨论】:

    标签: javascript unit-testing chai


    【解决方案1】:
    chai.expect(mypromise.toString()).to.eventually.be.equal('1.4')
    

    编辑:

    哦,我明白你的意思了。在这种情况下,解决此问题的最佳方法是将您的期望放入 then 语句中,如下所示:

    mypromise.then(function (result) {
        return result.toString();
    }).to.eventually.be.equal('1.4');
    

    认为应该可以,但我无法对其进行测试。

    【讨论】:

    • 是的,这仍然不能比较 2 个承诺。如果您需要与来自承诺的值进行比较而不是“1.4”怎么办?你当然可以使用then,但这有点难看,不是吗?
    猜你喜欢
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多