草庐IT

jasmine-bail-fast

全部标签

javascript - multiCapabilities 和 jasmine 重点测试

故事:我们有一个相当庞大的端到端Protractor测试代码库。我们有两个配置-一个是“本地”-使用directConnect在Chrome和Firefox中运行测试,另一个是“远程”-在远程selenium服务器上运行测试-我们中的BrowserStack案例。我们的“本地”配置配置为在Chrome中运行一些测试,在Firefox中运行一些测试-因为我们确实无法在Chrome中运行一些测试-例如,keyboardshortcutsdon'tworkinChrome+Mac.在解决链接的chromedriver问题之前,运行需要在Firefox中使用键盘快捷键的测试是一种解决方法。这里

javascript - Rails + Jasmine-Ajax : what is the correct way to test code triggered by `ajax:success` (jquery-ujs)

我正在尝试测试某个内部库,该库在ajax:success事件上触发了一些JS行为。库创建一个如下所示的链接:在库的JS部分有事件绑定(bind)代码,这是我想通过它对DOM的影响进行黑盒测试的部分:$(document).on'ajax:success','.special-link',(e,data,status,xhr)->#CodethathassomeeffectontheDOMasafunctionoftheserverresponse该库在浏览器中按预期工作。但是,当我尝试通过调用$('.special-link').click()测试Jasmine中的库时,无法观察到对D

javascript - before/afterAll() 未在 jasmine-node 中定义

我正在尝试使用jasmine的beforeAll和afterAll方法,用frisby.js创建一套测试,因为实际上,frisby不支持这种方法。所以,这就是我想要做的:varfrisby=require('frisby');describe("setUpandtearDown",function(){beforeAll(function(){console.log("testbeforeAll");});afterAll(function(){console.log("afterAll");});//FRISBYTESTS});//endofdescribefunction如果我将b

javascript - 使用 .toHaveBeenCalledWith 的 Jasmine 测试注册表失败

我正在处理的单页应用程序有一个包含两种表单的登录View:登录表单和注册表单。以下规范描述了这些表单的测试。我正在使用Jasmine-jQuery1.4.2.//user_spec.jsdescribe("User",function(){varuserController;beforeEach(function(){loadFixtures('menu.html');userController=newMyApp.User.Controller();});describe("LoginView",function(){beforeEach(function(){//Mockthe$.

javascript - 如何添加 Jasmine 自定义匹配器 Typescript 定义?

我去过lookingaround这个问题看起来像一个recurringthing.但是,我发现的解决方案似乎都不适合我。使用以下内容:{"typescript":"2.3.2","jasmine-core":"2.6.1","@types/jasmine":"2.5.47"}我无法让Typescript合并包含我的自定义匹配器定义的命名空间声明。添加这个:declarenamespacejasmine{interfaceMatchers{toBeAnyOf(expected:jasmine.Expected,expectationFailOutput?:any):boolean;}}隐

javascript - 期望一个 float 数组接近 Jasmine 中的另一个数组

我正在测试一个返回数字数组的Javascript函数,以查看返回的数组是否包含与包含预期输出的数组相同的元素:expect(myArray).toEqual(expectedArray);如果myArray和expectedArray仅包含整数,则此操作完美无缺,但如果存在至少一个float,则会因浮点精度错误而失败。toBeCloseTo似乎对数组不起作用。目前我正在循环进行成员检查:for(vari=0;i...但是有没有更简洁的方法来做到这一点?如果测试因任何原因失败,输出将包含大量骇人听闻的错误消息。 最佳答案 下面的代码应

javascript - Jasmine 不能监视事件处理程序?

尝试使用Jasmine测试事件处理程序是否在单击的元素上被调用。有一个包含DOM元素“PadElement”的“Pad”对象,它会被点击。事件处理程序是Pad对象上的一个方法:GRAPH.Pad=function(graphDiv,graph){this.graph=graph;this.clickHandler=function(e){console.log('padElementclickHandlercalled');//this.graph.createVertex(e.clientX,e.clientY);};this.padElement=GRAPH.padElement(

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 - 监视 Karma 和 Jasmine 中的 setTimeout 和 clearTimeout

我似乎无法在通过Karma运行的Jasmine测试中监视setTimeout和clearTimeout。我已经尝试了所有这些的变体spyOn(window,'setTimeout').and.callFake(()=>{});spyOn(global,'setTimeout').and.callFake(()=>{});spyOn(window,'clearTimeout').and.callThrough();clock=jasmine.clock();clock.install();spyOn(clock,'setTimeout').and.callThrough();runMyC

javascript - 测试 Jasmine 中是否触发了事件

在没有jquery-jasmine的情况下,如何测试Jasmine中是否触发了事件?我正在做一个不使用jQuery的项目(wohoo),我正在尝试为我的菜单触发功能编写一个单元测试。它是这样工作的:你点击一个按钮我的可测试组件然后运行​​document.dispatchEvent(newCustomEvent('menu.toggle'))我想测试组件是否确实发送了自定义事件。我该如何测试? 最佳答案 尝试了一下,找到了一个行之有效的解决方案:importtriggerEventfrom'trigger-event';import