草庐IT

STUB区域

全部标签

javascript - Sinon.JS 的 stub.callsArg(index) 是做什么的?

说真的,我想不通。文档给了我们:stub.callsArg(index)-使stub调用提供的索引处的参数作为回调函数。stub.callsArg(0);使stub调用第一个参数作为回调。但是,我不知道要索引到的参数列表在哪里。也许我只是不明白什么是stub... 最佳答案 stub是具有可编程行为的noop函数。在您的情况下,callsArg(index)将对stub进行编程以期望在index处有一个函数并立即调用它。functionsayHi(){console.log('hi');}varstub=sinon.stub().c

javascript - 使用 Sinon 在同一文件中 stub 方法

我正在尝试对文件中的一个函数进行单元测试,同时对同一文件中的另一个函数进行stub,但没有应用模拟,而是调用了真实的方法。这是一个例子://file:'foo.js'exportfunctiona(){//.....}exportfunctionb(){letstuff=a();//calla//...dostuff}还有我的测试:import*asactionsfrom'foo';constaStub=sinon.stub(actions,'a').returns('mockedreturn');actions.b();//b()isexecuted,whichcallsa()ins

javascript - 如何增加 highchart.js 图表上 x 轴标签区域的高度?

我有一个由highcharts.js创建的简单折线图。我在x轴(30)上有很多刻度线,所以我将stagger设置为2来处理水平相互重叠的标记。然而,x轴刻度标签的下一行在图表末尾被chop。无论我将图表制作多高,x轴刻度标记标签的下一行都会被chop。我怎样才能增加这个区域的高度来解决这个问题?还是有其他方法?month_chart=newHighcharts.Chart({chart:{borderRadius:0,height:chart_height,marginRight:30,marginBottom:25,renderTo:'leads-by-month',type:'li

javascript - 多个 SPA 的 Durandal 和 MVC4 区域

我有一个带区域的互联网应用程序mvc4,对于我的组织,每个区域代表一个SPA,通过“管理NuGet包”,我安装了“Durandal1.2.0”、“DurandalTransitions1.2.0”和“DurandalRouter1.2.0””。我整理了文件夹并从Durandal的文件夹“App”中退出了“views”和“viewmodels”,并将新View放在mvc4区域的文件夹“VIews”中,例如:Areas-->NewArea-->Views-->ControllerFolder-->views-->shell.html例如,然后我将“viewmodels”放入“Script”

javascript - Sinon stub 是如何工作的?

在过去的几个月里,我一直在使用JavaScript并使用SinonJS来stub一些行为。我已经设法让它发挥作用,我使用了很多方法,一切都很好。但对于诗浓在幕后的运作方式,我还是有些疑问。我想我说的是Sinon,但这个问题可能适用于所有其他旨在模拟/stub/spy的库。过去几年我使用最多的语言是Java。在Java中,我使用Mockito来模拟/stub依赖项和依赖项注入(inject)。我曾经导入类,用@Mock注释字段并将此模拟作为参数传递给被测类。我很容易看出我在做什么:模拟一个类并将模拟作为参数传递。当我第一次开始使用SinonJS时,我看到了这样的东西:moduleUnde

javascript - 增加 SVG 元素的悬停区域

有一个像这样的SVG元素-现在,这个元素太小了,悬停在上面非常困难。如何增加悬停区域(保持此元素的区域相同),以便即使鼠标指向大约2px远,悬停事件也会被触发? 最佳答案 我的建议是创建另一个完全透明的svg元素,它位于处理悬停事件的对象之上。例如我不知道是否可以按照您描述的方式增加元素上的悬停区域。(如果是的话,我很想知道怎么做。) 关于javascript-增加SVG元素的悬停区域,我们在StackOverflow上找到一个类似的问题: https://s

javascript - sinon stub 不替换功能

我正在尝试使用sinonstub来替换可能需要时间的函数。但是当我运行测试时,测试代码似乎没有使用sinonstub。这是我要测试的代码。functiontakeTooLong(){returnreturnSomething();}functionreturnSomething(){returnnewPromise((resolve)=>{setTimeout(()=>{resolve('ok')},1500)})}module.exports={takeTooLong,returnSomething}这是测试代码。constchai=require('chai')chai.use(r

javascript - 我怎样才能用 sinonjs stub 内部引用的函数?

我有一个myModuleNode.js模块,其中包含:functionb(){console.log('originalb');}functiona(){b();}exports.a=aexports.b=b;以及以下使用mocha+sinon.js的测试套件:constmyModule=require('./myModule.js');constsinon=require('sinon');constsinonChai=require('sinon-chai');chai.use(sinonChai);describe('notworkingstub',()=>{it('should

javascript - meteor JS : How to stub validated method in unit test

我正在使用经过验证的方法(mdg:validated-method)和LoggedInMixin(tunifight:loggedin-mixin)。现在我的单元测试出现了问题,因为它们因notLogged错误而失败,因为在单元测试中当然没有登录用户。我怎么必须stub呢?方法constresetEdit=newValidatedMethod({name:'reset',mixins:[LoggedInMixin],checkLoggedInError:{error:'notLogged'},//单元测试describe('resetEdit',()=>{it('shouldreset

javascript - 如何多次断言 stub 提取

使用proxyquire、sinon和mocha。我能够在第一次调用fetch时stubfetch。但是在递归的第二个获取调用中,我无法断言它。从输出来看,断言可能会在测试完成之前运行。您将在断言后通过secondfetch控制台看到这一点。索引.jsvarfetch=require('node-fetch');functiona(){console.log('functionaruns');fetch('https://www.google.com').then((e)=>{console.log('firstfetch');b();}).catch((e)=>{console.lo