在我要测试的文件中,我有以下代码:varhttpGet=Promise.promisify(require("request").get);httpGet(endpoint,{auth:{bearer:req.body.access_token},json:true}).then(...)现在,在我的测试中,我想确保httpGet被调用一次,并确保参数有效。在被promise之前,我的测试是这样的:beforeEach(function(){request.get=sinon.stub().yields(null,null,{error:"testerror",error_descri
在我要测试的文件中,我有以下代码:varhttpGet=Promise.promisify(require("request").get);httpGet(endpoint,{auth:{bearer:req.body.access_token},json:true}).then(...)现在,在我的测试中,我想确保httpGet被调用一次,并确保参数有效。在被promise之前,我的测试是这样的:beforeEach(function(){request.get=sinon.stub().yields(null,null,{error:"testerror",error_descri
我正在使用VS代码。当我尝试在Debug模式下运行测试时,它说描述不是一个函数。因此,我能够运行测试的唯一方法是通过npmNote。注意:我使用的是mocha和chai。var{describe,it,before,after}=require('mocha');varassert=require('chai').assert;varAuthAPI=require('../api/controllers/API.js');describe('getItemtests',function(){it('getItem',function(done){varAPI=newAuthAPI(cl
我正在使用VS代码。当我尝试在Debug模式下运行测试时,它说描述不是一个函数。因此,我能够运行测试的唯一方法是通过npmNote。注意:我使用的是mocha和chai。var{describe,it,before,after}=require('mocha');varassert=require('chai').assert;varAuthAPI=require('../api/controllers/API.js');describe('getItemtests',function(){it('getItem',function(done){varAPI=newAuthAPI(cl
我知道如何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);没有用,有什么建议吗
我知道如何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('