Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 全部使用sinon_Javascript_Unit Testing_Sinon_Stubbing_Stubs - Fatal编程技术网

Javascript 全部使用sinon

Javascript 全部使用sinon,javascript,unit-testing,sinon,stubbing,stubs,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) => { re

我尝试使用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存根上述代码并为其编写单元测试?
或者我可以用来有效地单元测试上述代码的任何其他库

您存根这四个模型,而不是
Promise.all
。存根这四个模型将如何服务于此函数的代码覆盖率?您存根这四个模型,而不是
Promise.all
。存根这四个模型将如何服务于此函数的代码覆盖率?