学习angularjs,都会遇到karma单元测试,可是初学者面对复杂的测试配置往往不知从何入手,下面我们将抛开angularjs,单独使用两个js文件,完成一次测试入门。

0,karma原理

1,文件目录

两个js文件,一个package.json

2,生成步骤

(1)生成package.json,在文件夹下运行

npm init

(2)安装karma依赖,在文件夹下运行

npm install karma karma-jasmine karma-chrome-launcher --save-dev

局部安装 karma karma-jasmine karma-chrome-launcher ,并保存到package.json中。这三个包缺一不可,

有些同学,是全局安装karma,那么请把karma-jasmine karma-chrome-launcher 也全局安装,否则会出现no provider jasmine的bug。至少在ubuntu 中是如此。

全局安装命令

npm install -g karma karma-jasmine karma-chrome-launcher 

(3)配置karma,在文件夹下运行

 karma init karma.conf.js

(4),编写demo.js

describe('A spec suite', function() {
    it('contains a passing spec', function() {
        expect(true).toBe(true);
    });
});

describe负责打包it(),测试时候会在console中打印'A spec suite',没别的作用;

it()负责单个测试,测试时候会在console中打印'contains a passing spec',没别的作用;

expect(a).tobe(b)负责测试a是否等于b,测试时候会在console中打印对错;

还有很多其他的函数,将来再学,个人不建议初学者一口吃个大胖子。

3,运行测试

在根目录下运行

karma start karma.conf.js

效果:

最新文章

  1. 我的第一个WebAPI程序
  2. T-SQL 存储过程
  3. 《DSP using MATLAB》示例Example4.13
  4. install zabbix-agent on CENTOS
  5. Sqlserver_In、exists使用
  6. React Native 实现MQTT 推送调研 (1)
  7. 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数
  8. ADB Server Didn’t ACK ,failed to Start Daemon 解决方法
  9. LLVM在静态分析上的增强 @ WWDC 2013
  10. 防止程序启动两次的方法CreateMutex()
  11. 在CG/HLSL中访问着色器属性(Properties)
  12. React Native for android 项目驱动教程
  13. Android init.rc文件浅析
  14. Docker简介和安装
  15. 9.9、Libgdx之软键盘
  16. 双网卡单IP实现网卡冗余与负载均衡
  17. Educational Codeforces Round 58 (Rated for Div. 2) F dp + 优化(新坑) + 离线处理
  18. nginx中root和alias的区别
  19. java面试基础题------》Java 中List、Set、Map异同点
  20. win7获取system32所有权

热门文章

  1. WPF-禁止二次启动
  2. linux install mysql
  3. smack 4.1创建群聊
  4. ssh简化后之事务管理
  5. 更改机器名后,打开TFS提示工作区错误的处理
  6. 为什么我如此热爱这样一个比赛(转自vici)
  7. sqlserver2008附加数据库时提示“无法为该请求检索数据。 (Microsoft.SqlServer.Management.Sdk.Sfc)”
  8. Javascript初学篇章_8(事件)
  9. JsonUtil
  10. ListView.setAdapter(adapter);空指针异常的解决的总结