下面就介绍一下怎么使用karma+jasmine进行单元测试。html
1.建立项目web
用webStorm打开此项目,能够看到已经建立了一个package.json文件。chrome
2.安装必要的包npm
npm install karma --savejson
npm install karma-jasmine --save浏览器
npm intall karma-chrome-launcher --save函数
npm intall jasmine-core --save单元测试
npm install karma-cli -g测试
3.建立被测试文件spa
在unitTest项目下面建立子文件夹js,建立index.js,index2.js,index3.js,jasmineTest.js文件。
在index.js中建立测试函数
在index2.js中建立一个测试函数
在index3.js中建立一个函数
在jasmineTest.js中建立测试用例
4.建立测试文件
在unitTest文件夹下面建立子文件夹test,使用命令行karma init初始化karma的配置文件。
建立以后,在test文件夹下面会生成一个karma.conf.js文件。
在这个文件里面修改部分设置:
5.开始测试
在命令行中键入karma start;会自动启动谷歌浏览器:
点击按钮,按下F12,点击console:
能够看到全部的函数测试成功。
6.出错的状况
若是说咱们期待index.js文件中的test函数输出结果是‘abcd’,但是test函数输出的结果是‘abc’,这样测试就不经过,就会报错。
同时,控制台也会打印出错的log:
到此处,单元测试就结束了。
7.单元测试覆盖率
当咱们在控制台键入karma start的时候会生成一个coverage文件夹;
点击index.html文件,在浏览器中打开,能够查看到测试报表:
点击下面的index.js.html,index2.js.html,index3.js.html,jasmineTest.js.html打开以后,能够看到单个文件测试的函数,下面是index.js.html的生成报表:
其中,粉色背景的是没有测试的函数。