angularJS-karma-jasmine
全部标签 我正在尝试创建一个弹出并提供不同菜单选项的简单模式。这应该很容易,我在uibootstrap网站上按照Plunkerformodals进行操作,但出现错误:$uibModalisanunknownprovider这是Angular代码:angular.module('billingModule',['ngAnimate','ui.bootstrap']);angular.module('billingModule').controller('StoreBillingCtrl',function($scope,$uibModal){$scope.openStoreBilling=func
我正在开发一个模块,在该模块中,我将拥有嵌套在div元素中的div元素,这些元素也可能嵌套在div元素中。这些div元素将由用户在单击按钮时创建。div最终可能看起来像这样:div11.1。分区21.2。分区31.3。分区41.3.1div51.3.2div62.div73.div8等等……这些div中的每一个都只是一个html模板,我想为每个div绑定(bind)数据,假设div有一个标题,所以我将绑定(bind)每个div。我的第一个行动计划是使用ng-include并简单地由用户动态创建ng-include,这样模板将由ng-include加载。然而,正如我所发现的,由于依赖性问
我正在尝试在AngularJS指令中实现OOP继承以制作可重用的控件。我正在使用Base2'sClassdefinition为继承。我在想的是实现这样的指令然后我会为常用功能创建一个BaseControl类angular.module('base',[]).factory('BaseControl',function(){returnBase.extend({'restrict':'E','require':'^parentForm'/*...*/};});然后我会创建特定的控件angular.module('controls',['base']).factory('TextContr
我希望在实际路由代码运行之前触发route.resolve方法。不幸的是,在下面的代码中,prime()被调用,但它是异步调用的,并且在prime完成之前调用了路由代码。我认为路由的解析方法应该在加载路由之前完成?(function(){'usestrict';varapp=angular.module('app');//Collecttheroutesapp.constant('routes',getRoutes());//Configuretheroutesandrouteresolversapp.config(['$routeProvider','routes',routeCon
我正在构建一个非常庞大的Angular应用程序,我的问题是内存泄漏导致页面卡住。单击按钮时,我的应用程序会打开一个弹出窗口,(在自定义指令的帮助下)动态附加此弹出窗口的内容,并使用本地文件中的$http调用弹出窗口。它工作正常。我已经使用chrome开发人员工具根据给我的时间表提出以下内容:如您所见,在渲染发生之前计时器会触发很长时间。当用户多次执行此操作时(关闭弹出窗口并再次重新打开),此操作的时间会越来越多。除非他转到其他页面并返回或刷新页面。那么....我如何销毁所有以前的计时器或收集垃圾必须做的事情。或者是其他必须做的事情。 最佳答案
我们目前正在尝试测试我们的Angular服务,它使用promise将值返回给Controller。问题是我们附加到.then的函数不会在Jasmine中被调用。我们发现在返回promise后将$rootScope.digest()添加到函数中允许调用同步promise,但它仍然不适用于异步promises。目前的代码是beforeEach(inject(function(Service,$rootScope){service=Service;root=$rootScope;}));it('getsalltheavailableproducts',function(done){servi
我想知道如果我在babel中使用ES6导入/导出,我如何在Jasmine上监视/stub功能?importMobileDetectfrom'mobile-detect';it('shouldspyMobileDetect',()=>{MobileDetect=jasmine.createSpy('MobileDetect');});`第一个问题是我无法重写只读模块模块构建失败:SyntaxError:/Users/oleg/projects/rp/popup/lib/spec/popup.spec.js:"MobileDetect"isread-onlyit('shouldspyMob
我的问题看起来很奇怪。我有一个带有一个新的、非常简单的函数的构造函数,它应该检查一个变量是否包含在一个数组中。它工作得很好(我在一个表单中使用这个函数)。但是...我无法对此函数编写任何单元测试,因为Karma/Jasmine看不到数组的“包含”函数。有人可以建议我该怎么做吗?这里的情况稍微简化了一点://要测试的构造函数vm.isNameAlreadyUsed=function(){//debutlogging:console.log("vm.allNames",vm.allNames);//output:vm.allNames['A','B','C']console.log("an
我已经使用grunt和jasmine设置了一些测试,但是当我尝试在终端中运行测试时遇到了问题。我看到这个错误:>>Errorcaughtfromphantom.MoreinfocanbefoundbyopeningtheSpecRunnerinabrowser.当我在浏览器中运行specrunner文件时,我看到我的所有测试都通过了并且没有显示任何类型的错误。有谁知道这个问题的原因是什么?这是我的Gruntfile:module.exports=function(grunt){grunt.initConfig({pkg:grunt.file.readJSON('package.json
我有以下gulpfile.js:vargulp=require('gulp'),jasmine=require('gulp-jasmine');gulp.task('default',function(){returngulp.src('spec/test.js').pipe(jasmine());});spec/test.js中的代码使用全局angular变量,但是,当我运行gulptaskdefault时会抛出一个关于它未定义的错误。假设angular是在全局范围内的文件spec/lib.js中定义的。在test.jsdescribe()之前,我如何告诉jasmine()它需要首先