【AngularJs unit-testing(单元测试)详解】教程文章相关的互联网学习教程文章

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 – 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 – 单元测试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 – 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...

javascript – 单元测试Angular时“angualar.module”和“module”之间的区别【代码】

angual.module(‘app’)和module(‘app’)有什么区别? 以下是有问题的简单服务和单元测试: 服务(function () {"use strict"var app = angular.module('app', []);app.service('CustomerService', ['$http', function ($http) {return {getById: function (customerId) {return $http.get('/Customer/' + customerId);}}}]); }());测试describe('Customer Service', function () {var $rootScope,$httpBackend,service,customerId...

javascript – 单元测试使用Kendo Grid / Datasource的Angular Controller【代码】

我的项目是使用AngularJS Kendo-UI.我正在尝试测试一个使用Kendo-UI Grid的控制器:angular.module('myApp')('DevicesCtrl', function ($scope) {$scope.gridOptions = {dataSource: {transport: {read: {url: "/devices",dataType: "json"}},change: function(){var view = this.view();$scope.devices = [];$.each(view, function(i, v) {$scope.devices.push({id: v.id, description: v.name, status: v.status == 0 ? "failur...

javascript – 有效地对一个操纵DOM的AngularJS指令进行单元测试【代码】

我正在使用AngularJS创建一个简单的指令,为任何链接添加平滑的滚动效果. 我在这里发表了我的作品:https://github.com/arnaudbreton/angular-smoothscroll一切都在真实的环境中工作,但我无法弄清楚如何正确地进行单元测试.因为$window.pageYOffset没有按预期递增,所以我无法传递. 谢谢你的帮助!解决方法:我做了一个拉动请求,让你的测试运行. https://github.com/bennyjo/angular-smoothscroll/commit/e660a8e1a4497907a9c74d9e359...

javascript – Angular.js单元测试“inject()”在“运行”阶段块之前触发【代码】

我有一个场景,我正在尝试为移动设备加载HTML5音频,这只能通过用户交互(例如ontouchstart)来实现.我已经在Angular运行阶段实现了这个逻辑,以确保它尽早附加.我无法在配置阶段附加它,因为它依赖于其他Angular工厂:angular.module('MyModule').run(['Device', 'ResourceManager', 'ExceptionFactory', function (Device, ResourceManager, ExceptionFactory) {if (!Device.browser.features.webaudio) {var onFirstUserInteraction =...

javascript – 从Angular 1.3.0开始,无法在单元测试中编译transcluded指令【代码】

我有一个transclude指令:true.它包含一个模板属性,该属性指向一个简单的HTML文件,其中一个元素包含一个锚元素的ng-transclude属性. anchor元素包装指令的内容. 我的测试看起来像这样:describe('foobar directive', function() {var $compile, $rootScope, $modal;beforeEach(module('collective'));beforeEach(module('test.templates'));beforeEach(inject(function(_$rootScope_, _$compile_, _$modal_) {$rootScope = _$rootS...

javascript – 在Angular单元测试中模拟ngResource【代码】

我有一个ngResourceMockFactory,如下所示:(function() {'use strict';angular.module('app').factory('NgResourceMock', ngResourceMockFactory);ngResourceMockFactory.$inject = [];function ngResourceMockFactory() {function NgResourceMock() {var context = this;context.$promise.then = function() {context.prototype.$promise.then.apply(context, arguments);};context.$promise.finally = function() {context.proto...