sinon相关内容
我想为特定模型中的 Mongoose save 方法创建一个存根,以便我创建的模型的任何实例都将调用存根而不是普通的 Mongoose save方法.我的理解是,这样做的唯一方法是像这样存根整个模型: var stub = sinon.stub(myModel.prototype); 不幸的是,这行代码导致我的测试抛出以下错误: TypeError: 无法读取未定义的属性“状态" 有人知道
..
有没有一种方法可以轻松重置所有 sinon spys 模拟和存根,它们将与 mocha 的 beforeEach 块一起干净地工作. 我认为沙盒是一种选择,但我不知道如何为此使用沙盒 beforeEach ->sinon.stub 一些,“方法"sinon.stub 一些,“妈妈"afterEach -># 我想避免这些行some.method.restore()some.other.re
..
我希望存根我当前正在测试的文件中使用的函数.像这样的解构需要这个函数: const { theFunctionIWant } = require('path/to/module') 测试时,从不调用存根,而是继续调用真正的函数.但是当我“正常"需要它时(即:没有解构) const myModule = require('path/to/module') 然后正确使用存根,一切正常
..
是否有任何库可以模拟 localStorage? 我一直在使用 Sinon.JS 进行其他大部分 javascript 模拟和发现它真的很棒. 我的初步测试表明 localStorage 拒绝在 firefox (sadface) 中分配,所以我可能需要解决这个问题:/ 我目前的选择(如我所见)如下: 创建我所有代码使用的包装函数并模拟这些函数 为 localStorag
..
我在 Express 中有以下内容 //index.jsvar service = require('./subscription.service');var auth = require('../auth/auth.service');var router = express.Router();router.post('/sync', auth.isAuthenticated, service
..
我正在使用 Mocha、Chai、Karma、Sinon、Webpack 进行单元测试. 我按照此链接为 React-Redux 代码配置了我的测试环境. 如何使用 Karma、Babel 和 Webpack 在 React 上实现测试 + 代码覆盖 我可以成功地测试我的 action 和 reducers javascript 代码,但是在测试我的组件时它总是会抛出一些错误.
..
我有一个函数可以向端点发出 AJAX 请求并返回 JSON.如何使用 Sinon 伪造 AJAX 请求,以便测试该功能是否正常工作? 解决方案 如果你正在使用 jQuery.ajax(),你可以这样存根: var returnData = {name: 'value'}var stub = sinon.stub($, 'ajax');stub.yieldsTo('success', re
..
我的 vue 组件中有一个名为 testfn 的方法,每当 testevt 事件触发时都会调用该方法.此方法包含对 console.log 的调用,清楚地显示正在调用该方法. 使用vue-test-utils运行测试时,如果我为该方法创建了Sinon spy并直接调用该方法,该spy正确检测到该方法被调用: const wrapper = mount(MyComponent, {});va
..
我正在尝试使用 sinon.spy 来检查是否正在为组件调用 play 函数.问题是间谍计数器没有更新,即使我已经确认我的组件的函数确实被调用了. 我已经追踪到它使用了 Javascript 的 call 函数: handleDone: function(e) {for (var i = 0; i
..
我正在使用 strong-soap 模块从 SOAP 请求中获取数据. var soap = require('strong-soap').soap;soap.createClient(url, options, function (err, client) {var 方法 = client.GetInfoSOAP;方法(请求查询,函数(错误,信息){//呜呜呜}} 我正在获取所需的数据.现在
..
我正在学习将 sinon 与 nodeunit 结合使用,专门用于模拟.推荐方法是使用 sinon-nodeunit.根据文档,模拟应该可以通过mocktest 每个测试函数的参数. 然而,这似乎不起作用.如果我在包含以下内容的文件上运行 nodeunit — require('sinon-nodeunit');出口['测试 sinon-nodeunit'] = 函数(测试){模拟 = t
..
我有一个正在测试的类,它创建了另一个类的实例.我想删除整个第二个类,以便它的构造函数永远不会被调用.例如,如果我有这个设置: Test.js class 测试 {构造函数(){}功能(){让 foo = 新 Foo()foo.hello()}} Foo.js class Foo {构造函数(){这.a = 1这.b = 2这个.c = 3console.log('原始构造函数')}你好
..
对于 ES 模块,我们将一些导出函数定义为 const,这通常是标准做法.然而,在单元测试期间,这些 const 函数不能被剔除,从单元测试的角度来看这似乎是有问题的.例如, import * as fs from 'fs';从 'rxjs' 导入 { bindNodeCallback };从'rxjs/operators'导入{地图};//readFile :: string, string
..
我有一个使用 express 4 的 node.js 应用程序,这是我的控制器: var service = require('./category.service');模块.出口 = {findAll:(请求,响应)=>{service.findAll().then((categories) => {response.status(200).send(categories);}, (错误) =
..
使用 proxyquire、sinon 和 mocha. 我能够在第一次调用 fetch 时存根 fetch.但是在递归的第二个 fetch 调用中,我无法断言它.从输出来看,断言可能会在测试完成之前运行.您将在断言后通过 second fetch 控制台看到这一点. index.js var fetch = require('node-fetch');函数 a() {console
..
我知道如何使用存根替换一个函数. sandbox.stub(Cars, "findOne",() =>{返回汽车1 }); 但是现在我的函数中有一行我想测试我需要存根看起来像这样 Cars.find().fetch() 所以这里有一个函数链,我不确定我需要做什么.如何存根“查找"以返回可用于存根“获取"的内容? 解决方案 试试这个: sandbox.stub(Cars, "fin
..
如果我将 sinon 与 typescript 一起使用,那么如何将 sinon 模拟转换为我的对象实例? 例如,将返回一个 SinonMock,但我的被测控制器可能需要将特定服务传递给其构造函数. var myServiceMock: MyStuff.MyService =
..
在我的文件中,我有这样的东西: if(somevar.toString().length == 2) .... 如何从我的测试文件中窥探 toString?我知道如何监视 parseInt 之类的东西: let spy = sinon.spy(global, 'parseInt') 但这对 toString 不起作用,因为它是在值上调用的,我尝试监视 Object 和 Object.pro
..
我想为触摸事件编写一些测试用例.在我的代码中,我有以下逻辑来决定它是否在触摸设备上. if(document.documentElement.ontouchstart !== undefined){//我想写测试用例的内容} 现在我想把document.documentElement.ontouchstart伪装成不是undefined,这样内部逻辑就会被执行. 我尝试使用Sinon.j
..
我想用 bar 存根 process.env.FOO. var sinon = require('sinon');var stub = sinon.stub(process.env, 'FOO', 'bar'); 我很困惑.我阅读文档,但我仍然不明白.sinonjs docs sinonjs 就是一个例子,sinonjs 不行. 解决方案 根据我对 process.env 的理解
..