欢迎大家到我的博客查看对应内容,并关注我学习Ionic 1和Ionic 2的历程,共同学习,共同进步。
代码测试的必要性,对任何编程语言都毋需赘述,JavaScript和HTML自然不例外。本文描述如何对Ionic进行单元测试(Unit Tests)。
对于测试环境而言,目前框架很多,本文使用的是Karma,尤其是其本身就为Angular而生,故能够与Angular完美集成。
对于测试用例而言,框架也有很多,本文使用的是Jasmine。
本文工程基于ionic#1.2.4的tabs工程模板进行测试(angular#1.4.3),但是为了更加符合Angular 1编码规范,对工程的目录结构及代码的风格结构做了相应变化,大家可先熟悉源码后,再参照下文观看。
单元测试(Unit Tests)
单元测试,即Unit Tests,顾名思义,旨在测试代码中的某段独立功能。
安装测试环境
我们需要使用Karma、Jasmine以及angular-mocks:
$ npm install karma --save-dev
$ npm install karma-jasmine --save-dev
注意:angular-mocks的版本必须与ionic使用的angular版本相同,否则可能会出现如下错误:
Failed to instantiate module ngMock... Unknown provider: $$rAFProvider
本文使用的是ionic#1.2.4,其angular版本为1.4.3,故需安装angular-mocks#1.4.3
:
$ bower install angular-mocks#1.4.3 --save-dev
为了方便地在终端中使用karma进行测试,需要安装Karma CLI:
$ npm install -g karma-cli
注意:类Unix系统可能需要使用
suodo
:
$ sudo npm install -g karma-cli
最后,我们需要使用一种浏览器作为我们单元测试的载体,Karma支持