我知道如何stubMongoose模型(感谢StubbingaMongoosemodelwithSinon),但我不太明白如何stub调用,例如:myModel.findOne({"id":someId}).where("someBooleanProperty").equals(true)....exec(someCallback);我尝试了以下方法:varfindOneStub=sinon.stub(mongoose.Model,"findOne");sinon.stub(findOneStub,"exec").yields(someFakeParameter);没有用,有什么建议吗
我为我的应用程序创建了一个数据库包装器,如下所示。为了测试它,我显然想替换实际的数据库库。我可以创建一个模拟query方法的新类并在那里捕获所有输入,但使用sinon.js似乎更合适,但我将如何使用它呢?我应该使用sinon.js的mock或stub功能吗?wrapper=(function(){functionwrapper(){}wrapper.db=require("database");wrapper.prototype.insertUser=function(doc){returnthis.db.query("INSERTINTOUSERS...");};returnwrap
我为我的应用程序创建了一个数据库包装器,如下所示。为了测试它,我显然想替换实际的数据库库。我可以创建一个模拟query方法的新类并在那里捕获所有输入,但使用sinon.js似乎更合适,但我将如何使用它呢?我应该使用sinon.js的mock或stub功能吗?wrapper=(function(){functionwrapper(){}wrapper.db=require("database");wrapper.prototype.insertUser=function(doc){returnthis.db.query("INSERTINTOUSERS...");};returnwrap
我想为特定模型中的Mongoosesave方法创建一个stub,以便我创建的模型的任何实例都将调用stub而不是普通的Mongoosesave方法。我的理解是,这样做的唯一方法是像这样对整个模型进行stub:varstub=sinon.stub(myModel.prototype);不幸的是,这行代码导致我的测试抛出以下错误:TypeError:Cannotreadproperty'states'ofundefined有人知道这里出了什么问题吗? 最佳答案 有两种方法可以做到这一点。第一个是varmongoose=require('
我想为特定模型中的Mongoosesave方法创建一个stub,以便我创建的模型的任何实例都将调用stub而不是普通的Mongoosesave方法。我的理解是,这样做的唯一方法是像这样对整个模型进行stub:varstub=sinon.stub(myModel.prototype);不幸的是,这行代码导致我的测试抛出以下错误:TypeError:Cannotreadproperty'states'ofundefined有人知道这里出了什么问题吗? 最佳答案 有两种方法可以做到这一点。第一个是varmongoose=require('
我正在使用mocha来测试一些类,我需要创建一个request库的stub。我正在使用sinon,我能够创建request.get方法的stub,但我无法创建request方法(http调用尝试连接到服务器)。正如我所读到的,request.get是request的别名,但是当我stubrequest.get它对request没有影响调用。此代码有效(使用request.get):在测试中:request=require'request'describe"Usertest",->user={}before(done)->user=newtest.user('Ander',18)sino
我正在使用mocha来测试一些类,我需要创建一个request库的stub。我正在使用sinon,我能够创建request.get方法的stub,但我无法创建request方法(http调用尝试连接到服务器)。正如我所读到的,request.get是request的别名,但是当我stubrequest.get它对request没有影响调用。此代码有效(使用request.get):在测试中:request=require'request'describe"Usertest",->user={}before(done)->user=newtest.user('Ander',18)sino
我想对fs之类的node.js内置插件stub,这样我实际上就不会进行任何系统级文件调用。我唯一能想到的就是将fs和所有其他内置函数作为参数传递给我的所有函数,以避免使用真正的fs。这似乎有点傻,并创建了一个冗长的函数签名,其中包含作为参数的内置函数。varfs=require('fs');functionfindFile(path,callback){_findFile(fs,path,callback);}function_findFile(fs,path,callback){fs.readdir(path,function(err,files){//Dosomething.});
我想对fs之类的node.js内置插件stub,这样我实际上就不会进行任何系统级文件调用。我唯一能想到的就是将fs和所有其他内置函数作为参数传递给我的所有函数,以避免使用真正的fs。这似乎有点傻,并创建了一个冗长的函数签名,其中包含作为参数的内置函数。varfs=require('fs');functionfindFile(path,callback){_findFile(fs,path,callback);}function_findFile(fs,path,callback){fs.readdir(path,function(err,files){//Dosomething.});
使用Meteor,我试图了解何时使用服务器端Meteor.methods(),同时仍保留即时UI更新。来自AndrewScala的introductorytutorial,他声称Meteor.methods()应该在您想要更新和修改数据库文档时使用:Theideaisthatyoudefineallthefunctionsontheserverthatdodangerousstufflikemodifyandupdatedata,andthenlettheclientcallthosefunctionsandgetreturnvalueslikeregularfunctions.The