为什么要做单元测试?
1、这块代码比较复杂,还是别人写的,我不敢随便改,万一改出问题就不好了
2、你怎么不小心把我那块代码给改了,虽然该动小,但是改出问题了
3、我很久前做的一个功能,现在要加点新的功能,但是不小心破坏了老的功能
前端怎么做单元测试?
所用的工具需要:测试框架+断言库,常用的测试框架有Karma,mocha,其中Karma是一个以浏览器为引擎的测试,而mocha用的是node.js,淘宝推出了一个类Karma的开源框架叫Totoro
由于Karma是使用真实的浏览器环境,并且可以测试兼容性,所以我们采用 karma.
常用的断言库有Node的assert,Jasmine,expect,Chai,和Karma比较搭配的是Jasmine。
安装Karma+Jasmine
$ npm install karma -g
$ npm install karma jasmine-core karma-jasmine karma-chrome-launcher
执行 karma init 生成 karma.config.js 如下图
一路回车就好,然后新建一