Javascript 单元测试mongo map reduce函数同时具有局部范围和对象范围变量
我想用map reduce算法对用于查询MongoDB的JavaScript函数进行单元测试 简单映射函数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变量 模拟此键可以通过使用函数来轻松完成。原
变量是MongoDB的对象属性(this.key
提供对该对象所有属性的访问)this
是范围变量(范围对象单独提供给map reduce查询)key
mapFunction
的if
语句的目的很简单,就是在MongoDB对象的键与范围中提供的键不匹配时忽略它们
单元测试映射函数
要模拟MongoDB上下文,测试框架需要设置key
和this.key
变量
模拟此键
可以通过使用函数来轻松完成。原型。应用
函数:
var mongoContext = {
key: "sampleKey"
};
mapFunction.apply(mongoContext);
问题:
我想知道在这种情况下如何模拟
键
值。您可以在调用函数中包装映射函数
,并根据需要在其中设置范围
键
变量将返回到窗口
,除非它在链的下方被进一步遮挡。应该适合你的问题
例如,见
var mongoContext = {
key: "sampleKey"
};
mapFunction.apply(mongoContext);