sinon相关内容

如何编写在Vue组件中模拟$ route对象的测试

我有一个包含类似于this.$route.fullPath的语句的组件,如果要测试该组件,应该如何模拟$route对象的fullPath的值? 解决方案 最好不要模拟vue-router,而是使用它来呈现组件,这样您就可以得到一个正常工作的路由器.示例: import Vue from 'vue' import VueRouter from 'vue-router' import t ..
发布时间:2020-07-14 01:20:56 其他开发

Sinon存根函数与解构一起使用

我希望对当前正在测试的文件中使用的函数进行存根.像这样的解构需要此功能: const { theFunctionIWant } = require('path/to/module') 在测试时,永远不会调用存根,而是继续调用实函数. 但是,当我“正常"要求(即不进行销毁)时 const myModule = require('path/to/module') 然后正确使用存根 ..
发布时间:2020-05-18 02:05:40 其他开发

对猫鼬模型的虚拟属性进行存根

是否可以对猫鼬模型的虚拟属性进行存根? 假定Problem是模型类,并且difficulty是虚拟属性. delete Problem.prototype.difficulty返回false,并且该属性仍然存在,因此我无法将其替换为所需的任何值. 我也尝试过 var p = new Problem(); delete p.difficulty; p.difficulty = Pr ..
发布时间:2020-05-11 21:45:51 其他开发

Sinon猫鼬模型的存根保存实例方法

我正在尝试测试用于使用Mongoose模型保存小部件的服务功能.我想在模型上存入save实例方法,但是我找不到一个好的解决方案.我看到了其他建议,但似乎没有一个完整的建议. 请参阅... 此和这是我的模特... // widget.js var mongoose = require('mongoose'); var widgetSchema = mongoose.Schema({ ..
发布时间:2020-05-11 21:33:18 前端开发

使用Sinon取消链接的Mongoose呼叫的存根

我了解了如何对猫鼬模型进行存根(感谢使用Sinon对猫鼬模型进行存根),但我不太了解如何对以下电话进行存根: myModel.findOne({"id": someId}) .where("someBooleanProperty").equals(true) ... .exec(someCallback); 我尝试了以下操作: var findOneStub ..
发布时间:2020-05-11 21:33:02 其他开发

用Sinon存入猫鼬模型

我想在特定模型中为Mongoose save方法创建一个存根,以便我创建的模型的任何实例都将调用存根,而不是普通的Mongoose save方法.我的理解是,做到这一点的唯一方法是像这样对整个模型进行存根: var stub = sinon.stub(myModel.prototype); 不幸的是,这一行代码使我的测试抛出以下错误: TypeError: Cannot read ..
发布时间:2020-05-11 21:29:18 其他开发

如何访问此Javascript属性?

我需要确保在下面显示的UserMock类中调用了某个方法.我已经创建了该模拟版本以注入到另一个模块中,以防止在测试期间出现默认行为. 我已经在使用sinon.js,那么如何访问诸如isValid()之类的方法并将其替换为间谍/存根?是否可以在不实例化类的情况下做到这一点? var UserMock = (function() { var User; User = functio ..
发布时间:2020-05-10 01:45:31 前端开发

不会调用方法上的Sinon.spy

我正在测试的代码非常简单:如果条件被验证,它将调用一个方法.如果没有,它将调用第一个方法中包含的另一个方法作为属性. app.js: function test (fn, isActivated) { if (isActivated) { return fn('foo') } return fn.subFn('bar') } var fn = f ..
发布时间:2020-05-10 01:40:02 前端开发

模拟fs.readdir进行测试

我正在尝试为测试模拟功能 fs.readdir . 起初,我尝试使用 sinon ,因为这是一个非常好的框架,但是没有用. stub(fs, 'readdir').yieldsTo('callback', { error: null, files: ['index.md', 'page1.md', 'page2.md'] }); 我的第二次尝试是使用自替代函数模拟该函数.但这也不起 ..
发布时间:2020-05-10 01:31:09 其他开发