草庐IT

Controller测试

全部标签

javascript - Angular JS $location.path(...) 不触发路由 Controller

所以我尝试更新表单提交时使用的路径$location.path('/search');但它不会触发注册到'/search'的路由我也尝试过使用尾部斜杠。没什么,我也试过$scope.$apply但我只是得到了$applyalreadyinprogress错误所以肯定有一个范围。为什么这不会调用注册到路由的Controller或加载注册到它的templateUrl。路由器App.config(function($routeProvider,$locationProvider){$locationProvider.html5Mode(true).hashPrefix('!');$route

javascript - Console.log 在使用 grunt 服务器的 Qunit 测试中不起作用

我正在创建在grunt服务器上运行的Qunit测试。在测试中,当我尝试使用“console.log”将一些输出记录到控制台时,它不会在控制台中打印任何内容。目前我只能使用OK来执行断言。请提供您的意见。 最佳答案 如果您在grunt中使用qunit任务,则需要使用--debug(即grunttest--debug)启动任务。然后,您将看到幻影日志以下列格式打印出您的控制台日志:[D]["phantomjs","console","MIXPANELPEOPLEREQUEST(QUEUED,PENDINGIDENTIFY):"]Seed

javascript - AngularJS - 在 Jasmine 测试用例中模拟 ngTableParams

我已经使用ng-table创建了一个应用程序,该应用程序工作正常,但是当我编写一个jasmine测试用例时,我得到了。Error:[$injector:unpr]Unknownprovider:TableParamsProvider谁能告诉我如何模拟ngTableParams并测试其功能我的代码如下Jasmine测试用例describe('TestingControllers',function(){describe('TestingWorkControllerController',function(){varWorkController,$scope;beforeEach(modu

javascript - Protractor - 无法运行 Protractor 测试

我的测试抛出以下错误。它以前运行良好。请指教。我的配置文件:exports.config={seleniumAddress:'http://localhost:4444/wd/hub',allScriptsTimeout:20000,baseUrl:'https://mylink/#/',//frameworkstouseframeworks:['jasmine'],//Capabilitiestobepassedtothewebdriverinstance.multiCapabilities:[{'browserName':'chrome'//},{//'browserName':'

javascript - 如何编写http请求的单元测试?

我正在尝试对我的案例进行单元测试在我的测试Controller中myService.getItem('/api/toy/'+scope.id).success(function(toy){$scope.toy=toys.details;});我的服务angular.module('toyApp').service('myService',['$http',function($http){varservice={};return{getItem:function(url){return$http.get(url);},};}]);测试文件。describe('toyctrl',funct

javascript - 在 AngularJS 中获取当前 Controller 名称

我正在尝试编写一个将生成网格的指令。以下代码有效,但我必须指定Controller名称“DemoCtrl”。是否可以从指令中检索当前Controller名称,以便我可以将其传递给buildColumn/buildRows函数?angular.module('app').controller('DemoCtrl',function($scope){$scope.controller="DemoCtrl";$scope.coldata=[{name:'Account'},{name:'Name'}];$scope.rowdata=[{"account":"ABC","name":"Jim"

javascript - 在 Controller 中使用 Angular 翻译,用于服务带来的数据

我有以下场景:我有一个包含这种数据的JSON文件:"IOS_TABLET_DOWNLOAD_URL":{"type":"string","minLength":"5","title":"IOS_TABLET_DOWNLOAD_URL","description":"$filter('translate')('configuration.IOS_TABLET_DOWNLOAD_URL')"},描述字段需要使用AngularTranslate进行翻译,我正在像这样将服务注入(inject)我的ControllerConfigController.$inject=['$scope','$fi

javascript - Angular 2 的 Jasmine 测试用例 - 导航到其他页面

我正在使用jasmine为Angular2代码编写测试用例。一旦用户注销,我试图导航回登录页面。如何测试页面位置? 最佳答案 您真正需要做的就是测试是否使用正确的参数(即登录页面的路由)调用路由器导航方法。尝试测试实际导航可能会产生比单元测试所需更多的副作用。要检查是否调用了Router.navigate方法,只需使用stub并监视它即可。@Component({})classSomeComponent{constructor(privaterouter:Router){}logout(){this.router.navigate(

javascript - 从 Controller 显示或隐藏父元素的弹出窗口 - angularjs

我有以下div,里面是一个输入文本。div有一个弹出窗口,我希望在输入文本处于焦点时显示它。如果输入文本失焦,我希望隐藏弹出框。我目前正在尝试使用以下代码来做到这一点:HTML:型号:model.password=inputTextConfig({id:"password",fieldName:"password",dataType:"password",required:false,maxLength:24,modelOptions:{allowInvalid:true,},onFocus:model.getMethod("showPopover")});Controller:vm.

javascript - 在 Jest 中调试单个测试

我有很多Jest测试,在很多测试套件中,在很多测试文件中。我需要隔离和调试单个测试。我正在通过node--inspect-brk./node_modules/jest/bin/jest进行调试,因此涉及监视模式的其他解决方案太复杂了。除了我需要调试的测试之外,我如何才能跳过所有测试? 最佳答案 jest分两步处理这个问题通过使用testPathPattern(jestdocs)运行jest来隔离您的测试文件命令行参数node--inspect-brk./node_modules/jest/bin/jest--testPathPatt