Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / AngularJS 应用单元测试起步

AngularJS 很重视测试,所以提供了很多特性使得编写测试变得更容易。AngularJS 应用的单元测试与普通的 JavaScript 应用测试有些不同。AngularJS 应用是以 module(模块)为单位来组织应用,将不同的功能放进各自的模块。测试可以从整个应用级别,或者从特定的模块开始。正是由于测试可以从模块开始,在测试的时候需要指定引用的模块。AngularJS 应用在启动的时候,会寻找 ng-app 指定的模块,而后创建一个 $rootScope 以及一个管理依赖的 $injector,而后依赖将通过 $injector 自动注入。在测试的时候,需要手动处理这个过程。因为在编写测试的时候,希望的是能够进行单元性的测试,能够针对特定的模块进行测试。所以在编写 AngularJS 测试的时候,我们需要手动去引用某个模块 ,同时手动创建 $rootScope 和手动引入依赖。AngularJS 提供了 ngModule 这个模块,包含一些方法用来处理这个过程。这个过程主要使用到的是两个方法,分别是 module 以及 inject 方法。前者用于引入模块,后者用于处理依赖。例如: 
describe("type: name", function() {
var $scope, myService, $location;

// 在每个测试用例执行之前,引用 app 模块
beforeEach(module("app"));

// 在每个测试用例执行之前,注入依赖
beforeEach(inject(function($rootScope, _myService_, _$location_) {
$scope = $rootScope.$new();
myService = _myService_;
$location = _$location_;
}));


it("should work", function() {
// Do something
// Expect something
});
});
示例代码来自 Angular Tips有一点要注意的是,在 inject 方法内,有两个参数都有前后的下划线,这个下划线实际上是为了便于编写测试(使得测试内局部变量与依赖一致的名字),AngularJS 会忽略这前后下划线,并找到对应的依赖。一些AngularJS相关文章链接:AngularJS权威教程 清晰PDF版  http://www.linuxidc.com/Linux/2015-01/111429.htm希望你喜欢,并分享我的工作~带你走近AngularJS系列
  1. 带你走近AngularJS - 基本功能介绍 http://www.linuxidc.com/Linux/2014-05/102140.htm
  2. 带你走近AngularJS - 体验指令实例 http://www.linuxidc.com/Linux/2014-05/102141.htm
  3. 带你走近AngularJS - 创建自定义指令 http://www.linuxidc.com/Linux/2014-05/102142.htm
如何在 AngularJS 中对控制器进行单元测试 http://www.linuxidc.com/Linux/2013-12/94166.htm在 AngularJS 应用中通过 JSON 文件来设置状态 http://www.linuxidc.com/Linux/2014-07/104083.htmAngularJS 之 Factory vs Service vs Provider http://www.linuxidc.com/Linux/2014-05/101475.htmAngularJS —— 使用 ngResource、RESTful APIs 和 Spring MVC 框架提交数据 http://www.linuxidc.com/Linux/2014-07/104402.htmAngularJS 的详细介绍:请点这里
AngularJS 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/127253.htm