草庐IT

模拟IC

全部标签

javascript - 如何用 Jest 模拟/替换对象的 getter 函数?

在Sinon我可以做以下事情:varmyObj={prop:'foo'};sinon.stub(myObj,'prop').get(functiongetterFn(){return'bar';});myObj.prop;//'bar'但是我怎样才能对Jest做同样的事情呢?我不能只用jest.fn()之类的东西覆盖函数,因为它不会替换getter"can'tsetthevalueofget" 最佳答案 对于遇到这个答案的其他人来说,Jest22.1.0引入了spyongetterandsettermethods的能力.编辑:如sc

javascript - 如何在 javascript 全局命名空间中 stub /模拟函数

我正在尝试在测试期间stub/模拟/覆盖函数调用,该函数调用将日志写入数据库。functionlogit(msg){writeMessageToDb(msg);}functiontryingToTestThisFunction(){varerror=processSomething();if(error){logit(error);}}我想要logit()在测试期间简单地打印到控制台...并在isTesting()中执行“logit()”if/elseblock功能不是一个选项。这是否可能不包括一些额外的模拟框架。我目前正在使用JsTestDriver用于单元测试并且没有机会评估任何模

javascript - AngularJS 中的单元测试 - 模拟服务和 promise

在Angular中,一切似乎都有一个陡峭的学习曲线,并且对Angular应用程序进行单元测试绝对无法摆脱这种范式。当我开始使用TDD和Angular时,我觉得我花了两倍(可能更多)的时间来弄清楚如何测试,甚至更多的时间只是为了正确设置我的测试。但是作为BenNadel在他的博客里说了在Angular学习过程中有起有落。他的图表绝对是我使用Angular的经验。然而,随着我在学习Angular和单元测试方面取得的进步,现在我觉得我花在设置测试上的时间少了很多,而花更多的时间让测试从红色变为绿色——这是一种很好的感觉。所以我遇到了设置单元测试以模拟服务和promise的不同方法,我想我会分

javascript - 在 Jest 中模拟静态方法

我在Jest模拟静态方法时遇到了麻烦。假设您有一个带有静态方法的A类:exportdefaultclassA{f(){return'a.f()'}staticstaticF(){return'A.staticF()'}}还有一个导入A的B类importAfrom'./a'exportdefaultclassB{g(){consta=newA()returna.f()}gCallsStaticF(){returnA.staticF()}}现在你想模拟A。模拟f()很容易:importAfrom'../src/a'importBfrom'../src/b'jest.mock('../src

javascript - HTML 5 Canvas 中的一手拉圆模拟

followingcode使用jQuery在HTML5Canvas中创建一个圆圈:代码://getareferencetothecanvasvarctx=$('#canvas')[0].getContext("2d");DrawCircle(75,75,20);//drawacirclefunctionDrawCircle(x,y,radius){ctx.beginPath();ctx.arc(x,y,radius,0,Math.PI*2,true);ctx.fillStyle='transparent';ctx.lineWidth=2;ctx.strokeStyle='#003300

javascript - 使用javascript函数调用模拟post表单提交

使用jQuery,我们可以模拟提交表单:使用AJAX函数调用:$.post('',{key1:'value1',key2:'value2'},function(){//docallback});如果我们使用jquery.form.js$('#form1').ajaxSubmit({success:function(){//docallback}});好的,现在我的问题来了:我的标记中没有表单,我想使用“POST”方法提交包含一些动态内容的表单。我想调用一个函数来模拟这个过程,可能是这样的:utils.post('/url',{key1:'value1',key2:'value2'});

javascript - 我们如何模拟每个测试与 Jest 的依赖关系?

这是fullminimalrepro给定以下应用:src/food.jsconstFood={carbs:"rice",veg:"greenbeans",type:"dinner"};exportdefaultFood;src/food.jsimportFoodfrom"./food";functionformatMeal(){const{carbs,veg,type}=Food;if(type==="dinner"){return`Goodevening.Dinneris${veg}and${carbs}.Yum!`;}elseif(type==="breakfast"){retur

javascript - 在移动 session 中模拟 session cookie?

乍一看,我惊讶地发现我对sessioncookie在移动设备上的行为方式的想法被现实覆盖了。在普通桌面浏览器上,只要浏览器session处于事件状态,就会存储sessioncookie。如果最后一个浏览器窗口/进程关闭,session应该关闭。现在在移动设备上,您几乎不会关闭浏览器应用程序,只需将其发送到后台即可。我发现我的SonyXperiaRay和Android4sessioncookie没有过期,即使我清除了浏览器进程。但在三星平板设备上它会。我不知道iOS设备如何以这种方式运行。这是一个问题!?我应该怎么做才能解决它?现在,我决定让cookie在一天内过期。但我对此不是很满意。

javascript - 模拟 Javascript 'alert' 阻塞性质

是否可以创建自定义模式消息,在用户输入之前“阻止”脚本的执行?例如,如果不使用native窗口警报/提示功能,如何实现这一点?setInterval(function(){alert('ClickOKtoContinue');//timingstopsuntiluserhitsok},4000);我知道您可以让您的自定义对话框在用户输入时调用回调函数,但我对能够强制执行此阻塞行为很感兴趣 最佳答案 Isitpossibletocreateacustommodalmessagewhich'blocks'theexecutionofth

javascript - 如何在 javascript 中模拟 HTML5 拖放事件?

如标题所示,我正在尝试在javascript中模拟HTML5拖放事件。我研究了jquery.ui.simulate以及模拟函数here.两者似乎都可以通过模拟与jQueryUI对象一起使用的mousedown、mousemove和mouseup来模拟拖放。但是像draganddropdemosite这样的页面中的拖放事件似乎无法使用相同的方法进行模拟。触发mousedown似乎不会触发dragstartHTML5事件。有没有一种方法可以根据模拟的mousedown/mousemove等触发dragstart事件,或者有没有一种方法可以直接模拟dragstart(然后放下)事件?我试过修