Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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 单元测试mongo map reduce函数同时具有局部范围和对象范围变量_Javascript_Mongodb_Unit Testing - Fatal编程技术网

Javascript 单元测试mongo map reduce函数同时具有局部范围和对象范围变量

Javascript 单元测试mongo map reduce函数同时具有局部范围和对象范围变量,javascript,mongodb,unit-testing,Javascript,Mongodb,Unit Testing,我想用map reduce算法对用于查询MongoDB的JavaScript函数进行单元测试 简单映射函数 this.key变量是MongoDB的对象属性(this提供对该对象所有属性的访问) key是范围变量(范围对象单独提供给map reduce查询) mapFunction的if语句的目的很简单,就是在MongoDB对象的键与范围中提供的键不匹配时忽略它们 单元测试映射函数 要模拟MongoDB上下文,测试框架需要设置key和this.key变量 模拟此键可以通过使用函数来轻松完成。原

我想用map reduce算法对用于查询MongoDB的JavaScript函数进行单元测试

简单映射函数
  • this.key
    变量是MongoDB的对象属性(
    this
    提供对该对象所有属性的访问)
  • key
    是范围变量(范围对象单独提供给map reduce查询)
mapFunction
if
语句的目的很简单,就是在MongoDB对象的键与范围中提供的键不匹配时忽略它们

单元测试映射函数 要模拟MongoDB上下文,测试框架需要设置
key
this.key
变量

模拟
此键
可以通过使用
函数来轻松完成。原型。应用
函数:

var mongoContext = {
   key: "sampleKey"
};
mapFunction.apply(mongoContext);
问题:
我想知道在这种情况下如何模拟
值。

您可以在调用函数中包装
映射函数
,并根据需要在其中设置范围

变量将返回到
窗口
,除非它在链的下方被进一步遮挡。应该适合你的问题

例如,见

var mongoContext = {
   key: "sampleKey"
};
mapFunction.apply(mongoContext);