草庐IT

Controller测试

全部标签

javascript - AngularJS 指令中的单元测试私有(private)函数

如何对在指令内定义的函数进行单元测试,如下面的myFunc?angular.module('myApp').directive('myDir',[function(){varmyFunc=function(arg){//codeinhere.};return{restrict:'A',scope:{},link:function(scope,element){}};}]);或者您如何定义我不想在指令之外公开的可测试指令特定函数? 最佳答案 最常见的方法是不测试私有(private)方法,而是测试公开其行为的公共(public)接口(

javascript - 了解 QUnit 异常测试

在编写QUnit测试时,我对“throws”的行为感到惊讶。关于下面的代码(http://jsfiddle.net/DuYAc/75/),谁能回答我的问题:functionsubfunc(){throw"subfuncerror";}functionfunc(){try{subfunc();}catch(e){}}test("officialcookbookexample",function(){throws(function(){throw"error";},"Mustthrowerrortopass.");});test("Wouldexpectthistowork",functi

javascript - 在 Controller 中使用 `this` 作用域时使用 $scope.$watch

我的Angular应用程序中有一个Controller:(function(angular){functionMyController(){this.name='Dave';//Iwanttohavecodelikethis:/*$scope.$watch('name',function(newValue,oldValue){console.log(oldValue,"changedto",newValue);});*/}window.myApp=angular.module('myApp',[]).controller('MyController',[MyController]);}

javascript - AngularJS 测试 $httpBackend.flush() 导致错误

我正在尝试使用jasmine对我为Spotify创建的AngularJS服务进行一些测试。但是在测试promises时,我的测试总是出错。我的测试目前是这样的:describe('Spotify.search',function(){var$httpBackend;var$rootScope;varSpotify;varapi='https://api.spotify.com/v1';beforeEach(inject(function(_Spotify_,_$httpBackend_,_$rootScope_){Spotify=_Spotify_;$httpBackend=_$htt

javascript - ASP.NET MVC 5 从 Javascript 错误调用 Controller 方法

我正在尝试从javascript调用Controller方法,但我似乎无法正确执行它。我对javascript的经验很少,并且遵循了其他如何从stackoverflow执行此操作的示例,但我仍然遇到一些问题-如果有人可以提供帮助,那就太棒了。基本上我想做的是将javascript对象上的.data标记设置为Controller上的方法返回的字符串(此方法调用运行SQLServer函数的网络服务)。该方法需要传递一个在函数中使用的参数。代码如下:Javascript代码for(vari=0;iJQuery方法functionCallService(id){$.ajax({url:'@Ur

javascript - 如何在 Angular js中将数据从工厂传递到 Controller ?

我有一个工厂包含保存客户功能。成功后我想在Controller中传递它的响应以便我可以更新View。工厂sampleApp.factory("authFactory",function($location,$http,transformRequestAsFormPost){return{saveCustomer:function(data){varrequest=$http({method:"post",url:"webservice/ws.php?mode=saveCustomer",transformRequest:transformRequestAsFormPost,data:d

javascript - 如何测试前端 JavaScript 库并与 Travis 集成?

我已经尝试过使用Jasmine或Mocha测试NodeJS库,但我不知道如何测试前端项目。我在网上找到了教程,但所有内容都在工作流程中包含一个任务管理器,我想知道如何在没有任务管理器的情况下执行此操作。我发现以下问题与我要问的很接近:UsingTravis-CIforclient-sideJavaScriptlibraries?就我而言,我正在使用Jasmine并且已经设置了JasmineSpecRunner.html、Jasmine库和spec/mylibSpec.js。当我在浏览器上运行SpecRunner.html时,测试通过了。现在,我如何将它与Travis集成,没有Grunt

javascript - nightwatch.js 在测试套件结束时暂停

我一直在使用nightwatch.js进行功能测试自动化。问题是测试套件完成后测试暂停。它不会结束该过程。代码如下所示:varafterSuite=function(browser){dbFixture.deleteCollectionItemById(companyId,'cilents');dbFixture.deleteCollectionItemById(customerId,'users');dbFixture.deleteCollectionItemById(assetId,'assets');dbFixture.deleteFile(imageId);browser.en

javascript - 有没有一种方法可以在不渲染任何其他 js 文件的情况下在 Rails Controller 方法中发出警报/弹出窗口

defdelete_usersusers=User.active.where(:id=>params[:users])users.eachdo|user|array=[]ifuser.active?array0)user.update_attributes(:status=>"inactive")else"Iwantanalert/popupheresayingnousers,when'delete_users'iscalledandtheconditioncomeshere."........dootherstuff......endend结束在Controller中,我有这个方法,

javascript - Angular Karma Jasmine - 测试功能

基本上我必须测试下面这个函数,我正在从文本文件中读取$window.resolveLocalFileSystemURL(cordova.file.dataDirectory,function(dir){varpath='somefile.txt';dir.getFile(path,{create:true},function(file){file.file(function(file){varreader=newFileReader();reader.onloadend=function(){resolve(this.result);}reader.readAsText(file);}