jjzjj

node.js - 使用 Sinon 对 Mongoose 模型进行 Stub

我想为特定模型中的Mongoosesave方法创建一个stub,以便我创建的模型的任何实例都将调用stub而不是普通的Mongoosesave方法。我的理解是,这样做的唯一方法是像这样对整个模型进行stub:varstub=sinon.stub(myModel.prototype);不幸的是,这行代码导致我的测试抛出以下错误:TypeError:Cannotreadproperty'states'ofundefined有人知道这里出了什么问题吗? 最佳答案 有两种方法可以做到这一点。第一个是varmongoose=require('

node.js - 在 mocha 中使用 sinon 创建请求 stub

我正在使用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

node.js - 在 mocha 中使用 sinon 创建请求 stub

我正在使用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

node.js - 如何在 Express 中模拟中间件以跳过单元测试的身份验证?

我在Express中有以下内容//index.jsvarservice=require('./subscription.service');varauth=require('../auth/auth.service');varrouter=express.Router();router.post('/sync',auth.isAuthenticated,service.synchronise);module.exports=router;我想覆盖或模拟isAuthenticated以返回此auth.isAuthenticated=function(req,res,next){retur

node.js - 如何在 Express 中模拟中间件以跳过单元测试的身份验证?

我在Express中有以下内容//index.jsvarservice=require('./subscription.service');varauth=require('../auth/auth.service');varrouter=express.Router();router.post('/sync',auth.isAuthenticated,service.synchronise);module.exports=router;我想覆盖或模拟isAuthenticated以返回此auth.isAuthenticated=function(req,res,next){retur

node.js - Sinon错误尝试包装已经包装的函数

虽然这里有同样的问题,但我找不到我的问题的答案,所以我的问题是:我正在使用mocha和chai测试我的Nodejs应用程序。我正在使用sinion来包装我的函数。describe('AppFunctions',function(){letmockObj=sinon.stub(testApp,'getObj',(dbUrl)=>{//somestuff});it('getresults',function(done){testApp.someFun});}describe('AppErrors',function(){letmockObj=sinon.stub(testApp,'getO

node.js - Sinon错误尝试包装已经包装的函数

虽然这里有同样的问题,但我找不到我的问题的答案,所以我的问题是:我正在使用mocha和chai测试我的Nodejs应用程序。我正在使用sinion来包装我的函数。describe('AppFunctions',function(){letmockObj=sinon.stub(testApp,'getObj',(dbUrl)=>{//somestuff});it('getresults',function(done){testApp.someFun});}describe('AppErrors',function(){letmockObj=sinon.stub(testApp,'getO

使用Sinon在摩卡咖啡中读取主张控制台消息

我正在尝试测试Web组件。如果设置了无效的属性值,则此Web组件将警告消息写给控制台。目前,我有以下内容:import{expect}from'chai';import{mount}from'avoriaz';importMyComponentfrom'../src/my-component.vue';constsinon=require('sinon');describe('my-component.vue',function(){letsandbox=null;beforeEach(function(){sandbox=sinon.sandbox.create();sandbox.stub

mysql - 你如何在 Node.js 中模拟 MySQL(没有 ORM)?

我正在使用Node.js和felixge的node-mysql客户。我没有使用ORM。我正在使用Vows进行测试,并希望能够模拟我的数据库,可能使用Sinon。由于我本身并没有真正的DAL(除了node-mysql),我不确定如何去做。我的模型大多是带有很多setter/getter的简单CRUD。关于如何实现这一点的任何想法? 最佳答案 使用sinon,您可以在整个模块周围放置一个模拟或stub。例如,假设mysql模块有一个函数query:varmock;mock=sinon.mock(require('mysql'))mock

mysql - 你如何在 Node.js 中模拟 MySQL(没有 ORM)?

我正在使用Node.js和felixge的node-mysql客户。我没有使用ORM。我正在使用Vows进行测试,并希望能够模拟我的数据库,可能使用Sinon。由于我本身并没有真正的DAL(除了node-mysql),我不确定如何去做。我的模型大多是带有很多setter/getter的简单CRUD。关于如何实现这一点的任何想法? 最佳答案 使用sinon,您可以在整个模块周围放置一个模拟或stub。例如,假设mysql模块有一个函数query:varmock;mock=sinon.mock(require('mysql'))mock