草庐IT

sinon-chai

全部标签

javascript - 使用 sinon.js 创建一个 "spy object"带有基于真实构造函数/原型(prototype)的 spy 方法

我使用sinon.js作为在我的Mocha测试中排除依赖项的一种方式。我更喜欢'spy'方法而不是经典的mock方法,因为spy的内省(introspection)似乎比经典的mock对象有点落后的想法更清晰,并且提供了更大的灵active。也就是说,我想知道在为整个对象创建测试spy时我是否使用不正确。假设我有一个测试依赖项,上面有4个方法,我想stub这些方法中的每一个,并对其中的一个或两个进行断言。目前我正在这样做:varspyObj={aMethod:sinon.spy(),otherMethod:sinon.spy(),whatever:sinon.spy()};然后我只问s

javascript - 使用 sinon.js 创建一个 "spy object"带有基于真实构造函数/原型(prototype)的 spy 方法

我使用sinon.js作为在我的Mocha测试中排除依赖项的一种方式。我更喜欢'spy'方法而不是经典的mock方法,因为spy的内省(introspection)似乎比经典的mock对象有点落后的想法更清晰,并且提供了更大的灵active。也就是说,我想知道在为整个对象创建测试spy时我是否使用不正确。假设我有一个测试依赖项,上面有4个方法,我想stub这些方法中的每一个,并对其中的一个或两个进行断言。目前我正在这样做:varspyObj={aMethod:sinon.spy(),otherMethod:sinon.spy(),whatever:sinon.spy()};然后我只问s

javascript - 使用 sinon 和 bluebird 对 Promisified 函数进行 Stub

在我要测试的文件中,我有以下代码: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

javascript - 使用 sinon 和 bluebird 对 Promisified 函数进行 Stub

在我要测试的文件中,我有以下代码: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

node.js - 使用 Sinon stub 链式 Mongoose 调用

我知道如何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);没有用,有什么建议吗

node.js - 使用 Sinon stub 链式 Mongoose 调用

我知道如何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);没有用,有什么建议吗

javascript - 在 sinon.js 中 stub 和/或模拟一个类?

我为我的应用程序创建了一个数据库包装器,如下所示。为了测试它,我显然想替换实际的数据库库。我可以创建一个模拟query方法的新类并在那里捕获所有输入,但使用sinon.js似乎更合适,但我将如何使用它呢?我应该使用sinon.js的mock或stub功能吗?wrapper=(function(){functionwrapper(){}wrapper.db=require("database");wrapper.prototype.insertUser=function(doc){returnthis.db.query("INSERTINTOUSERS...");};returnwrap

javascript - 在 sinon.js 中 stub 和/或模拟一个类?

我为我的应用程序创建了一个数据库包装器,如下所示。为了测试它,我显然想替换实际的数据库库。我可以创建一个模拟query方法的新类并在那里捕获所有输入,但使用sinon.js似乎更合适,但我将如何使用它呢?我应该使用sinon.js的mock或stub功能吗?wrapper=(function(){functionwrapper(){}wrapper.db=require("database");wrapper.prototype.insertUser=function(doc){returnthis.db.query("INSERTINTOUSERS...");};returnwrap

javascript - Node.js:找不到模块 'chai'

我正在尝试遵循https://mochajs.org/中的第一个示例完成了$npminstall-gmocha得到C:\Windows\system32>npminstall-gmochanpmWARNdeprecatedjade@0.26.3:Jadehasbeenrenamedtopug,pleaseinstallthelatestversionofpuginsteadofjadenpmWARNdeprecatedgraceful-fs@2.0.3:graceful-fsversion3andbeforewillfailonnewernodereleases.Pleaseupdat

javascript - Node.js:找不到模块 'chai'

我正在尝试遵循https://mochajs.org/中的第一个示例完成了$npminstall-gmocha得到C:\Windows\system32>npminstall-gmochanpmWARNdeprecatedjade@0.26.3:Jadehasbeenrenamedtopug,pleaseinstallthelatestversionofpuginsteadofjadenpmWARNdeprecatedgraceful-fs@2.0.3:graceful-fsversion3andbeforewillfailonnewernodereleases.Pleaseupdat