【Angular.Js的自动化测试详解】教程文章相关的互联网学习教程文章

javascript-测试使用$routeParams作为URL参数的AngularJS服务【代码】

我正在使用Jasmine来测试我的服务.我的一项服务使用$routeParams作为URL参数.现在当我测试时,$routeParams变得不确定 这是我的服务代码this.getProjectFunction = function (options) {$http.get(rootUrl + $routeParams.projectName).success(options.success).error(options.error);};这就是我的测试的样子describe('App Service', function() {describe('App Service Tests', function(){var httpBackend, service, optionsSpy,...

javascript-在服务中使用下划线进行AngularJS测试【代码】

这个问题已经在这里有了答案: > What does the underscores in _servicename_ mean in AngularJS tests? 1个我正在完成AngularJS教程的第5步,并在测试部分遇到了以下代码片段:describe('PhoneCat controllers', function() {describe('PhoneListCtrl', function(){var scope, ctrl, $httpBackend;// Load our app module definition before each test.beforeEach(modu...

javascript-我应该对AngularJS E2E测试使用什么?量角器或角度场景转轮或业力

在Protractor github上说“量角器是AngularJS的端到端测试框架”, 根据我在网上阅读的内容,AngularJS Scenario Runner已被弃用,不应使用 还是Karma,说实话,我用它来进行茉莉花测试,但我什至没有 确保它可以用于运行端到端. 那我该怎么用?量角器是答案,我应该使用它吗? AngularJS Scenario Runner是否已被弃用?解决方法:您可以使用testcafe.好处: >自动等待xhr请求,元素,动画等.您无需使用browser.wait,browser.isElementPresen...

javascript-参数’controllerLogin’不是函数,未定义-AngularJs,业力测试【代码】

您好,Genius开发人员, 目前,我正在学习AngularJs并进行一些基本测试,但仍然会出错.请帮我解决这个问题.我到处寻找答案,但找不到任何东西.您的任何帮助将不胜感激. 下面是错误.`Error: [ng:areq] Argument 'controllerLogin' is not a function, got undefined我正在使用WebStrom IDE. 这是我的controllerLogin.js “严格使用”;var loginApp = angular.module('loginApp',[]);(function() {//define this for the minification of...

javascript-在Jasmine测试中未定义AngularJS $scope.$watch回调函数参数【代码】

我在名为ctrl.test的范围变量中的控制器中定义了$scope.$watch. $watch的回调函数在生产部署中使用正确的值(newVal)进行调用,但是当从Jasmine测试中调用时,将使用undefined进行调用.直接访问ctrl.test确实会产生正确的值. 有人能对此有所启发吗?这是一个Plunk用来摆弄.解决方法:当使用Controller As模式时,请使用函数作为watch表达式. 更换:$scope.$watch('ctrl.test', ...带有:$scope.$watch(function () {return ctrl.test; }...

javascript-Jasmine,Angular的“ rootScope.$broadcast”测试【代码】

我正在尝试为具有$rootScope.$on(‘accountsSet’,function(event)….的控制器编写一个测试….因此,在测试中,我使用的是.broadcast.andCallThrough(),这里还有许多其他问题在SO建议虽然它也对我有用. 所以我的控制器非常简单: angular.module(‘controller.sidemenu’,[]).controller('SidemenuCtrl', function($rootScope, $scope, AccountsService) {$rootScope.$on('accountsSet', function (event) {$scope.accounts = Accoun...

javascript-Angular2测试.承诺从未在TestBed.compileComponents内部解决【代码】

我目前正在为我的Angular2组件中的模块编写一个测试模块,该模块使用templateUrl属性,因此需要在测试之前进行TestBed.compileComponents异步调用才能进行编译. 我遇到的问题是,promise回调(然后)函数中的所有内容都根本无法运行…好像promise无法解决. 这是我的代码. 模块:import { Component } from "@angular/core";@Component({selector: 'categories-component',templateUrl: '/app/views/catalog/categories/categories-dashb...

javascript-angular.js e2e测试和$timeout问题

我有一个用于显示Flash消息https://github.com/lucassus/mongo_browser/blob/master/app/assets/javascripts/app/services.js.coffee#L31的简单服务,我正在e2e规范https://github.com/lucassus/mongo_browser/blob/master/spec/javascripts/e2e/databases_scenario.js.coffee#L66中对其进行测试我使用$timeout服务在3秒后隐藏了Flash消息. 我注意到e2e场景运行程序一直阻塞,直到超时刷新为止,而我无法检查是否已显示Flash消息. 如何...

javascript-将本地JSON加载到AngularJS中的Jasmine / Karma单元测试中【代码】

我正在测试一个回调函数,该函数接受一个响应对象作为唯一参数.该对象是在其他地方发出的HTTP请求的响应,因此我不想在此测试中使用$httpBackend,因为该请求与该功能无关. 在home.js中,它是我应用程序主页的控制器. 这是正在测试的功能:function submitLogin() {LoginService.login(loginPost, ctrl.username, ctrl.password, successCallback, errorCallback);}// gets called in LoginService if login reponse is 201, otherwise...

javascript-如何在e2e测试Angular量角器中的标签中添加文本【代码】

我如何在标签中添加内容以进行量角器的e2e测试<html lang="en" dir="ltr"><head><body class="cke_editable cke_editable_themed cke_contents_ltr cke_show_borders" contenteditable="true" spellcheck="true"><p><br type="_moz"></p></body> </html>我尝试这个,但这不起作用var p = element(by.css('.cke_editable p')); p.sendKeys('This is a peragraph tag');解决方法:首先,在这种情况下,主体是可编辑的-向其发送密钥:var ...

javascript – AngularJs Jasmine单元测试中的$httpBackend【代码】

我无法让我的单元测试正常工作.我有一个$scope数组,它开始是空的,但应该用$http.get()填充.在真实的环境中,阵列中大约有15个左右的对象,但是对于我的单元测试,我只抓了2.对于单元测试,我有:expect($scope.stuff.length).toBe(2);但茉莉的错误是:预期0为2. 这是我的controller.js:$scope.stuff = []; $scope.getStuff = function () {var url = site.root + 'api/stuff';$http.get(url).success(function (data) {$scope.stuff =...

javascript – 如何在Protractor / AngularJS测试中重用代码【代码】

我们在几个JS文件中为我们的AngularJS应用程序进行了几次Protractor端到端测试,它们运行良好.但是,整个测试过程中存在大量重复的代码,我们希望将其干掉. 例如,每次登录时,我们都必须单击文本元素,键入用户名和密码,然后单击“输入”.现在,每个JS文件都有自己的登录功能副本,在每次测试之前都会调用它. 将它们重构为我们可以导入的模块会很好.我一直在寻找几个小时,但没有找到一个好的解决方案. 我们该怎么做?解决方法:您可以创建n...

javascript – 单元测试angular-bootstrap $modal【代码】

我在尝试为Angular-Bootstrap $modal编写茉莉花单元测试时遇到问题.确切的错误是预期的间谍开放被调用了[{templateUrl:’/ n / views / sign.html’,控制器:’W2ConsentModal为w2modal’,解决:{employee:Function},size:’lg’}]但实际调用是[{templateUrl:’/ n / views / sign.html’,controller:’W2ConsentModal as w2modal’,resolve:{employee:Function},size:’lg’}] 预期和实际的模态选项对象是相同的.到底是怎...

javascript – 在AngularJs控制器中测试$scope,依赖于$filter【代码】

我已经完成了一些教程和基本的例子,但是我很难为我的控制器编写单元测试.我已经看到代码片段实例化控制器并让角度注入$rootScope对象,而后者又用于为控制器创建新的范围对象.但我无法弄清楚为什么ctrl.$scope?未定义:describe('EmployeeCtrl', function () {var scope, ctrl, $httpBackend;beforeEach(inject(function (_$httpBackend_, $rootScope, $controller, $filter) {$httpBackend = _$httpBackend_; scope = $root...

javascript – Angular 2最终版本路由器单元测试【代码】

如何使用karma和jasmine对Angular 2.0.0版中的路由器进行单元测试? 这是我的旧单元测试在版本2.0.0-beta.14中的样子import {it,inject,injectAsync,beforeEach,beforeEachProviders,TestComponentBuilder } from 'angular2/testing';import { RootRouter } from 'angular2/src/router/router'; import { Location, RouteParams, Router, RouteRegistry, ROUTER_PRIMARY_COMPONENT } from 'angular2/router'; import { SpyLocation...