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

javascript – 在AngularJS中,为什么将表示逻辑(如jQuery)放入控制器会对可测试性产生负面影响?

我是Angular的新手,也是“测试”思维模式的编码.我理解将表示逻辑放入控制器并不是“Angular Way”,但不明白为什么它会对可测试性产生负面影响.解决方法:因为它依赖于有一个DOM来测试.您应该能够在不需要创建DOM的情况下测试控制器逻辑,因为您应该只是模拟依赖项,然后在构造的视图模型中测试数据. 除了测试之外,控制器在生活中的工作是编组数据,他们不了解视图,他们所知道的只是一个视图模型,他们应该只调用后端服务,然后将这些数据...

javascript – 使用Gulp-mocha测试Angular:“窗口未定义”【代码】

我正在与Gulp建立一个项目,用Mocha运行单元测试,包括Angular测试.我有基本设置工作(indexOf等),但是当我包含角度模拟时,我得到此错误或节点模块错误: ‘gulp-mocha’中的ReferenceError:“窗口未定义” 我尝试使用gulp-mocha-phantomjs包括角度模块模拟……但结果是一样的. (使用mocha-phantomjs我的错误是’初始超时’.)我已经看到很多配置Mocha和Angular或Gulp和Karma的例子,但还没有找到Gulp,Mocha和Angular的解决方案. 我正在...

javascript – 使用Jasmine在Angular Controller中测试非范围函数【代码】

Jasmine是以BDD方式对javascript代码进行单元测试的最广泛使用的测试框架之一.我试图将它用于AngularJS组件测试. AngularJS文档提供以下示例代码describe('PasswordController', function() {beforeEach(module('app'));var $controller;beforeEach(inject(function(_$controller_){$controller = _$controller_;}));describe('$scope.grade', function() {it('sets the strength to "strong" if the password length is >8 chars'...

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...

为什么按照 Angular 官网教程执行简单的测试代码,会遇到expect is not defined的错误消息【代码】【图】

Angular 官网的代码: https://angular.io/api/core/Injectable#providedin我把这段代码原封不动地拷贝到我的 app.module.ts ,然后执行:@Injectable() class UsefulService { }@Injectable() class NeedsService {constructor(public service: UsefulService) { } }const injector = Injector.create({providers:[{ provide: NeedsService, deps: [UsefulService] }, { provide: UsefulService, deps: [] }] }); expect(injector...