草庐IT

angularJS-karma-jasmine

全部标签

javascript - 使用 Jasmine 测试异步回调

我正在使用Jasmine2.1。我正在尝试使用Jasmine2.1来测试模块。我的模块之一具有异步执行代码的功能。当应用程序完成执行时,我需要测试函数的结果。有没有办法做到这一点?目前,我的模块看起来像这样:varotherModule=require('otherModule');functionMyModule(){}MyModule.prototype.state='';MyModule.prototype.execute=function(callback){try{this.state='Executing';varm=newotherModule.Execute(funct

javascript - 如何在 AngularJS 中绑定(bind)自定义事件?

我有一个自定义事件core-transitionend(实际上由Polymer触发),我可以使用document.addEventListener()设置事件处理程序.但在AngularJS中执行此操作的最佳做​​法是什么?或者,我可以在DOM中明确设置一个处理程序,即,但是如何在AngularJS中定义这个函数呢? 最佳答案 参见thisfiddle,我在这里创建了一个自定义指令,它将事件绑定(bind)到元素,angular.module('HelloApp',[]).directive('customDir',function

javascript - AngularJS $http : how to avoid redirect following

在AngularJS应用程序中,我对服务器url进行$http.post调用。此url的成功响应是30x重定向,我的问题是$http.post严格遵循此重定向并在成功回调中返回最终调用的结果。我想拦截此重定向并手动将用户重定向(更改浏览器url)到最终页面。可能吗? 最佳答案 根据docs,$http服务是一个核心Angular服务,它通过浏览器的XMLHttpRequest对象或通过JSONP促进与远程HTTP服务器的通信。了解这一点,并了解XMLHttpRequest的规范,拦截重定向可能是不可能的。W3CspecforXMLH

javascript - 如何在 Controller 外使用 $http?在 AngularJS 中

我想忘记“jQuery”因为我喜欢“AngularJS”。但是,我需要知道如何使用在我的应用程序的其他地方合并AngularJS的独立任务。例如,这次我想使用“$httpsAngularJS”函数导入一个JavaScript文件。示例(它曾经在jQuery中执行):$.get("url.js",function(data){eval(data)});//okconsole.info($.get);//codecodecode...ok示例(在AngularJS中记录)//InacontrollerApp.controller('Ctrllr',['$http',function($ht

javascript - 在 grunt 上运行 Karma 时出现警告 'The API interface has changed'

从grunt任务运行karma时,我收到以下警告:Running"karma:unit"(karma)taskWarning:Theapiinterfacehaschanged.Pleaseuseserver=newServer(config,[done])server.start()instead.Use--forcetocontinue.Abortedduetowarnings.我已经使用我的配置测试了运行karma,都使用“运行”和“启动”karma命令,它们似乎工作正常。使用grunt--force可以完成任务,但完成时会出现警告。这是我目前使用的版本:karma0.13.0咕

javascript - Jasmine jQuery : Check if element is visible

你好,我有一个关于使用Jasmine(插件:jQuery)进行单元测试的问题我如何测试对象是否在文档的DOM中。问题是我使用了一个工具提示功能,只有在模拟事件时才会激活。当有模拟效果时,一个对象被附加到DOM上,我想检查它是否可见。it("test1:shouldinvoketheTooltip()function.",function(){spyEvent=spyOnEvent('.span_width',"mouseover");$('.span_width').simulate('mouseover');expect('mouseover').toHaveBeenTriggere

javascript - 如何使用 Angularjs 在 Protractor 中选择可见元素

我有一个SPA,其中有多个具有相同类的div。我希望Protractor选择可见的div并单击它。我一直收到Failed:elementnotvisible这让人相信它正在获取一些不在这个特定页面上的元素(也许?)。我还收到WARNING-morethanoneelementfoundforlocatorBy.cssSelector('.myDiv')-第一个结果将被使用这再次让我认为它不是点击可见的,而是点击不可见的一个。这是我的规范:describe('Useractions',function(){it("shouldbeabletoclickamydiv.",function(

javascript - Protractor/Jasmine2 - 在指定超时内未调用异步回调

我在selenium网格上运行的e2e测试遇到了问题。有时测试失败是因为Error:Timeout-Asynccallbackwasnotinvokedwithintimeoutspecifiedbyjasmine.DEFAULT_TIMEOUT_INTERVAL.试图以某种方式解决它,将defaultTimeoutInterval更改为protracotr.conf.js中的更高值,但结果等待时间更长,但错误是相同的。exports.config={chromeOnly:true,chromeDriver:'../node_modules/.bin/chromedriver',fra

javascript - 如何使用 angularJS 制作虚拟卷轴?

我试图制定一个指令,我可以做一个虚拟滚动,所以当用户滚动表格时,表格删除“旧”View并添加"new"View,有点像收集重复,但我已经一直失败,我想我不明白它背后的数学原理,有人可以帮助我吗?这是我的指令代码:BaseModule.directive('myScroll',function(){return{restrict:"A",scope:{rows:"=",headers:"="},link:function(scope,el){varscrollTop=0;varscrollLeft=0;angular.element(el).on('scroll',function(){

javascript - Angular Karma console.log 不起作用

我在我的项目中使用KarmaAngularMochaChai。我正在做TDD并想测试我的更改。我在我的test.js文件中做了一个console.log但karmaconsole没有显示。我什至不确定如何启用它?这是我的karma.config.js:module.exports=function(config){config.set({//basepaththatwillbeusedtoresolveallpatterns(eg.files,exclude)basePath:'',//frameworkstouse//availableframeworks:https://npmjs