Stub Promise.all使用sinon

时间:2017-10-09 18:03:49

标签: javascript unit-testing sinon stubbing stubs

我有几个承诺,我试图使用Promise.all异步解决,如下所示:

model1.find({ _id: params.id }).limit(1).
        lean().then((data) => {
            let promises = [];
                let p1 = model2.find({ _id: '123' }).limit(1).lean().then((data) => {
                    return data;
                })
                promises.push(p1);
               let p2 = model3.find({ _id: '789' }).limit(1).lean().then((data) => {
                    return data;
                })
                promises.push(p2);
               let p3 = model4.find({ _id: '678' }).limit(1).lean().then((data) => {
                    return data;
                })
                promises.push(p3);

            Promise.all(promises).then(data => {
                data.forEach((entry) => {
                    let keys = Object.keys(entry);
                    result[keys[0]] = entry[keys[0]];
                });
                response.json(result);
            })
        })

如何使用sinon存储上述代码并为它们编写单元测试? 或者我可以用来有效地对上述代码进行单元测试的任何其他库

0 个答案:

没有答案