草庐IT

javascript - 测试来自 Backbone.View 的触发点击,它会打开一个新的 Backbone.View

我有两个主干View,MainView和PopupView。MainView包含一个帮助按钮。当帮助按钮处理程序被触发时,它会显示Backbone.View。我的问题是我应该如何从MainView模块测试这个行为?这是我关于MainView的代码:varMainView=Backbone.View.extend({events:{'click#help':'showPopUp'},showPopUp:function(){varpopupView=newPopupView();app.vent.trigger('showModal',popupView);}});这是我关于mainVi

javascript - 使用 jasmine 进行 jquery 测试

我是Jasmine的初学者。我不知道如何使用jasmine测试以下jquery代码。if($('.data-block').length>0){$('.span4:even','.data-block').addClass('even');$('.span4:odd','.data-block').addClass('odd');}你能告诉我如何使用jasmine为这个jquery程序编写测试代码吗?谢谢你的回答。 最佳答案 您可以使用Jasmine-JQuery插件并针对注入(inject)的DOM进行测试:https://git

javascript - $event.stopPropogation 不是 Angularjs 单元测试中的函数错误

我正在尝试对绑定(bind)到ngClick指令的函数进行单元测试。现在看起来像这样,因为我们刚刚开始这个项目,在我开始之前我想要一些测试覆盖率:vm.open=function($event){$event.preventDefault();$event.stopPropagation();vm.opened=true;};我这样进行单元测试:describe('Unit:simpleSearchController',function(){//includemainmodulebeforeEach(module('myApp'));varctrl,scope,event;//inj

javascript - 预期 '> ' 等于 Jasmine 中的 '> '

我正在测试jQuery终端,但出现错误:Expected'>'toequal'>'.测试时:$(function(){describe('Terminalplugin',function(){describe('terminalcreateterminaldestroy',function(){varterm=$('').appendTo('body').terminal();it('shouldhavedefaultprompt',function(){varprompt=term.find('.prompt');expect(prompt.html()).toEqual(">

javascript - 单元测试 AngularJS 模块 Controller

我正在查看TODOMVCAngularJS示例,我看到该应用程序被定义为一个模块。vartodomvc=angular.module('todomvc',[]);在Controller内部,我看到它们被定义为:todomvc.controller('TodoCtrl',functionTodoCtrl($scope,$location,todoStorage,filterFilter){//...});我的问题涉及单元测试...如何为该类编写单元测试?我试过这样的事情:describe('TodoCtrl',function(){varcontroller;beforeEach(fun

javascript - Jasmine toBeCloseTo 第二个参数是什么?

Jasmine的文档非常简短;通常就足够了。不总是。我想知道toBeCloseTo的第二个参数到底是什么。官方引用仅显示:it("The'toBeCloseTo'matcherisforprecisionmathcomparison",function(){varpi=3.1415926,e=2.78;expect(pi).not.toBeCloseTo(e,2);expect(pi).toBeCloseTo(e,0);});好的,这是精确度,但在这种情况下,“精确度”的实际含义是什么?是“.”后面的位数吗?那应该是一样的吧?我的情况:我想以毫秒为单位比较两个时间戳;如果它们之间的差异

javascript - 使用 Jasmine 和 node.js 测试客户端 javascript 代码

给定:客户端javascript代码(在浏览器中运行,使用jquery等)。目前,代码已使用Rhino和envjs进行测试。我们想切换到node.js。然而,经过一些研究,找不到任何类似envjs的模拟浏览器的补充。在“按原样”运行node.js时,甚至缺少alert()或window等基本功能。node.js是否有类似于Rhino&envjs的标准包? 最佳答案 你可以使用zombie.js,其中包含测试所需的一切。或者您可以利用jsdom(zombie.js在内部使用)在node.js中获取DOM,并针对该DOM执行测试。我也可

javascript - 如何使用 Protractor 测试比较具有 getSize() 函数的元素的宽度和高度?

早上好亲爱的同事们。我对Selenium方法有疑问。在我的例子中,我正在使用Protractor测试Angular应用程序,我想将getSize函数的返回值与我的测试中的设置值进行比较。这是下面的代码-varsearchForm=element(by.id('search'));it('searchFormmusthavewidth:400pxandheight:400px',function(){//expect(browser.driver.manager().window().getSize()).toEqual(400,400);searchForm.getSize();sea

javascript - Jasmine 单元测试不等待 promise 解决

我有一个像这样的异步依赖的Angular服务(function(){angular.module('app').factory('myService',['$q','asyncService',function($q,asyncService){varmyData=null;return{initialize:initialize,};functioninitialize(loanId){returnasyncService.getData(id).then(function(data){console.log("gotthedata!");myData=data;});}}]);})

Javascript JsTestDriver Jasmine 和 Jasmine-jquery

我有很多Jasmine单元测试,它们正在为Javascripts代码运行单元测试。他们使用Jasmine-jquery插件来进行DOM操作。他们使用loadFixture来加载HTML的固定装置我尝试使用JsTestDriver和JasmineAdapter自动执行这些单元测试但是所有涉及DOM-jquery操作的测试都没有通过?这有什么问题吗?有没有办法将Jasmine-jquery与JsTestDriver一起使用? 最佳答案 我会自己回答,因为我找到了解决这个问题的方法。问题是Jasmine-Jquery使用ajax加载htm