草庐IT

mqtt-spy

全部标签

javascript - Jest Mock 函数和 Sinon spy 有什么区别

我正在用Jest模拟一个函数,文档说它们真的是“spy”。我也看到了SinonJS中spy的使用,但我找不到两者之间的明显区别。如果它们服务于相同的目的,是否有任何理由选择一个而不是另一个?JestMockFunctionsSinonJS 最佳答案 两者的主要行为是一样的,都是可以记住调用的函数。因此,对于两者,您都可以计算出它们被调用的频率和参数。Sinon具有更广泛的API,可用于在spy上进行测试,并且它有一个API可将对象中的函数替换为spy。 关于javascript-Jest

javascript - 在浏览器中使用 Sinon Spies 的 Backbone.js 查看测试

我正在为主干View编写测试,以测试在获取模型后是否调用了渲染函数。测试是:beforeEach(function(){$('body').append('');profileView=newProfileView();});it('shouldcalltherenderfunctionafterthemodelhasbeenfetched',function(done){profileView.model=newUserModel({md5:'d7263f0d14d66c349016c5eabd4d2b8c'});varspy=sinon.spy(profileView,'rende

javascript - 我什么时候应该在我的 Angular JS 单元测试中使用 $provide 与 Jasmine Spies

我在一个大型Angular应用程序上工作,最初我们通过使用$provide来模拟服务来完成大量测试。然而,我们现在在我们的测试中有很多JasmineSpies,以便对服务进行stub和监视。即spyOn(myService,'myMethod').andReturn'myValue'我们真的应该为此使用$provide还是在某些情况下监视服务是最好的方法?在Angular测试中,他们使用spyspyingonJquery我会将其视为外部服务。spyOn(jq.prototype,'on');$provide似乎更多用于内部服务。module(function($provide){$pr

javascript - 在 Jasmine 中每次测试后如何自动恢复所有 sinon.js spy ?

有什么方法可以找到sinon.js中所有活跃的spy吗?我希望能够做这样的事情:afterEach->sinon.restoreAllSpies()it"shouldnotcreateanewMyClass",->spy=sinon.spy(window,'MyClass')expect(spy).not.toHaveBeenCalled()目前,我需要费力地(而且容易出错!)这样做:it"shouldnotcreateanewMyClass",->spy=sinon.spy(window,'MyClass')expect(spy).not.toHaveBeenCalled()wind

javascript - Angular Testing : Spy a function that was executed on the initialize of a controller

我一直在尝试监视在Controller初始化时执行的函数,但测试总是失败。我一直在尝试执行$scope.$digest()但它不起作用,但是在控制台中,我看到该函数已被调用。我想不通,有人可以向我解释为什么它不起作用吗?代码笔示例:http://codepen.io/gpincheiraa/pen/KzZNbyControllerfunctionController($stateParams,$scope){$scope.requestAuthorization=requestAuthorization;if($stateParams.requestAuthorization===tr

javascript - 如何断言使用 Jasmine 点击事件调用 spy ?

我正在编写一个简单的点击处理程序并且需要传入事件(就像这样)Thing=function($){varMyObject=function(opts){this.opts=opts;};MyObject.prototype.createSomething=function(){varthat=this;$('#some_dom_element').live('click',function(e){that.doStuff(e);});};MyObject.prototype.doStuff=function(e){//dosomejavascriptstuff...e.preventDe

javascript - Jasmine spy callThrough 和 callFake

我有一个场景,我想在调用回调后在beforeEach上调用done()。我尝试按如下方式执行此操作:spyOn(scope,'onAdmin').and.callThrough().and.callFake(function(){done()})但我不确定我的行为是否正确。基本上我想要实现的是能够在每个回调完成它所做的事情后调用done()。更新:解决方案scope.onAdminBackup=scope.onAdmin;spyOn(scope,'onAdmin').and.callFake(function(admin){scope.onAdminBackup();done();})

OneNet平台使用可视化界面(MQTT协议)

项目效果:在OneNet平台建立一个可视化界面,实现效果是下位机的温度,湿度可以在该界面显示,同时该界面可以控制下位机的灯亮与灭。搭建环境:软件:keil(编写C语言-修改硬件的程序)+onenet平台(建立可视化界面-上位机功能);硬件:野火指南者开发板;可视化界面:含有折线图,仪表盘和开关。折线图是显示湿度值;仪表盘用来显示温度值;开关用来控制灯亮灭。注意:每个控件都需要和产品的数据流有关联。----“数据流选择”OneNET-中国移动物联网开放平台 注册登陆进入onenet平台,点击右上角-“控制台”,进入如下界面,点击“多协议接入”,找到“MQTT协议”,添加产品,然后进入下一个界面。

javascript - 有没有办法用 Jasmine 验证 spy 执行的顺序?

我有两个对象已被Jasmine设置为spy:spyOn(obj,'spy1');spyOn(obj,'spy2');我需要验证对spy1的调用先于对spy2的调用。我可以检查它们是否都被调用:expect(obj.spy1).toHaveBeenCalled();expect(obj.spy2).toHaveBeenCalled();但是即使首先调用了obj.spy2()也会通过。有没有一种简单的方法可以验证一个在另一个之前被调用? 最佳答案 看起来Jasmine的人看到了这个帖子或其他人喜欢它,因为thisfunctionalit

javascript - 如何重置或清除 Jest 中的 spy ?

我有一个spy,用于跨套件中多个测试的多个断言。如何清除或重置spy,以便在每次测试中都认为spy拦截的方法未被调用?例如,如何让'doesnotrunmethod'中的断言为真?constmethods={run:()=>{}}constspy=jest.spyOn(methods,'run')describe('spy',()=>{it('runsmethod',()=>{methods.run()expect(spy).toHaveBeenCalled()//=>true})it('doesnotrunmethod',()=>{//howtomakethistrue?expect