草庐IT

MaCAPI测试工具

全部标签

javascript - 使用开发人员工具识别 javascript 闭包

我目前正在开发一个纯javascript网站,并且严重依赖jQuery和jQueryUI库(该网站不适合公众使用,因此渐进增强不是该项目的严格要求)。我在执行以下代码时遇到严重的内存泄漏:oDialogBox=$("...");/*Addusefulthingstothedialogboxhere*/oDialogBox.appendTo("body");oDialogBox.dialog({/*Otherdialogboxsettingshere*/close:function(event,ui){oDialogBox.dialog("destroy");oDialogBox.rem

javascript - 混合客户端/服务器端测试

我应该如何构建混合了Selenium代码(用于设置页面)和客户端Mocha代码(用于在被测试的客户端JS上实际执行测试)的测试?我正在测试客户端javascript库。单元测试适用于Karma、Mocha和Grunt。单元测试可以在本地运行,也可以通过SauceLabs运行。单元测试基本上能够测试直到实际提交文件的所有部分。这部分需要浏览器自动化和/或手动交互,这正是我正在努力解决的问题。有问题的库是一个Javascript文件上传库。它具有分块、自动恢复等功能。它不需要jQuery,并且适用于各种浏览器(IE7-10、FF、Safari(Mac和iOS)、Chrome、Android

javascript - 混合 $q 和 ES6 promise 时测试 Angular

我遇到一个问题,我的代码混合了ES6Promises和AngularPromises,并且它在生产中工作,因为我无法编写通过的单元测试。此代码片段演示了Jasmine单元测试失败的两个实例,但代码在生产中运行良好://Anangular$qpromisevarf1=function(){return$q(function(resolve,reject){resolve('Thisisfunction1!');});}//AnES6promisevarf2=function(){returnnewPromise(function(resolve,reject){resolve('This

javascript - 如何从浏览器开发工具访问 Webpack 模块?

我有一个用webpack编译的ES6模块。要调试它,我必须手动将某些对象附加到window,以便我可以通过Chrome/Safari中的调试工具引用它们:exportclassDialog{...}window.debugdialog=Dialog;这非常麻烦,而且肯定不是最好的方法。有没有一种方法可以在不修改源代码的情况下引用模块?是的,我知道断点,而且我会使用它们。但有时我想加载所有代码并通过使用内联JavaScript控制它来调整UI。 最佳答案 来源map如果您在开发环境或您自己的机器上运行服务器,您可以利用sourcema

javascript - 如何完全禁用 redactor 工具提示?

在redactor中,当我将鼠标悬停在工具栏按钮上时,工具提示会从左上角飞过放置工具栏按钮的位置。这种奇怪的行为使这个工具提示非常丑陋,并且想要禁用它。Thislink描述了禁用内联工具提示,但我正在寻找一种方法来禁用主工具提示。如何禁用它?下图中的黑色工具栏有工具提示,我想禁用鼠标悬停时出现的工具提示,因为它有一些错误行为。 最佳答案 我认为你实际上可以只使用简单的css来做到这一点.redactor-toolbar-tooltip{display:none!important;} 关

javascript - 有没有办法在 super 测试中设置默认值?

我正在使用supertest模块来测试我的RestAPI。我的API一直发送JSON。所以我正在为所有和每个测试做.expect('Content-Type',/json/)!我一次又一次地重复!这是我的一些代码it('shouldlistALLpermissionson/permissionsGET',(done)=>{request(app).get(permissionsURL).expect(200).expect('Content-Type',/json/).end((err,res)=>{varpermissions=res.body;permissions.should.

javascript - 单元测试 : Number. toLocaleString()

我本以为(10000).toLocaleString('de-DE')会返回"10.000"但我却得到了"10000".是否有不支持的原因?有没有更好的方法来格式化数字? 最佳答案 这是一个webkit问题,PhantomJS不想保持国际化......所以不幸的是我们在一段时间内一直坚持这个问题。https://github.com/ariya/phantomjs/issues/12581我最终做的是编写一个自定义匹配器来检查两者,因为我在Chrome和PhantomJS中运行。jasmine.addMatchers({isAnyO

javascript - 如何在 Vue.js 中测试计算属性?无法模拟 "data"

我想知道如何在Vue.js的单元测试中测试计算属性。我已经通过vue-cli(基于webpack)创建了一个新项目。例如这是我的组件:exportdefault{data(){return{source:[]}},methods:{removeDuplicates(arr){return[...newSet(arr)]}},computed:{types(){returnthis.removeDuplicates(this.source))}}}我试过这样测试it('shouldremoveduplicatesfromarray',()=>{constarr=[1,2,1,2,3]co

javascript - 使用 react-router v4、Jest 和 Enzyme 测试组件

我有一个使用react-router的简单组件(我知道这是alpha版本):{props.app&&props.app.health&&}建议在中包装的文档在测试时为组件提供上下文。但是,使用Jest/Enzyme我无法shallow()渲染-我必须使用enzyme的mount()或render(),这会导致问题,因为HomeLogin是一个连接的组件-我希望能够测试我的组件是否呈现正确的内容,但不测试其中呈现的组件。我的测试:it('Rendersbaseduponmatchedroute',()=>{letprops={app:{health:true},};constcompon

javascript - 在多个文件中拆分 mocha API 测试

我正在为我正在构建的产品构建一些API测试。其中一个测试如下所示:GETFILTERS✓shouldberestricted(45ms)itshouldgetthefilters✓shouldreturn200✓shouldreturnanobject✓shouldclosedbconnectionsGETUSERSCOUNT✓shouldberestricted✓shouldthrowerrorwhenpayloadisnotcorrectitshouldgettheusercount✓shouldreturn200✓shouldreturnanobject✓shouldclosed