我将如何进行单元测试。承诺

时间:2020-07-07 19:53:59

标签: javascript node.js unit-testing

我将如何对这两个功能进行单元测试?

我发现单元测试是一个很大的挑战,更不用说Promises ...

我正在使用Jest作为测试框架。

有关信息:

  • Promise.delay返回一个Promise,它将在 t 时间内解析为值 val
  • Promise.resolveAll采用一组 Promise (承诺),一个 timeoutTime 和一个 timeoutVal 。我们在这里所做的是允许数组中的每个Promise与将在timeoutTime中解析的Promise竞争。本质上是在给定的timeoutTime之后解决所有Promises,允许Promise.all返回所有已解决Promise的值。

谢谢!

Promise.delay = function (t, val) {
    return new Promise(resolve => {
        setTimeout(resolve.bind(null, val), t);
    });
}

Promise.resolveAll = function (promises, timeoutTime, timeoutVal) {
    return Promise.all(
        promises.map(
            promise => {
                return Promise.race([promise, Promise.delay(timeoutTime, timeoutVal)])
            }
        )
    );
}

0 个答案:

没有答案
相关问题