单元测试的重要性是不言而喻的,js 单元测试框架有很多种,jest,jasmine,Mocha。比较常用的就是jest。jest是facebook基于jasmine开发的,比jsamine更简单好用。但是jest不支持直接在真实浏览器中进行测试,其默认的启动器只提供了一个jsdom环境,在浏览器中进行单元测试只有karma能够做到,可以使用karma+jest。但是由于jest是在jasmine基础上封装,自身太重,使用karma+jasmine是一种最佳选择。
jest:Jest · 🃏 Delightful JavaScript Testing (jestjs.io)
jasmine:Getting Started (jasmine.github.io)
karma:Karma - Spectacular Test Runner for Javascript (karma-runner.github.io)。
现在记录一下Karma的安装过程。
一:安装 Karma 和相关插件
# Install Karma:
$ npm install karma --save-dev
# Install plugins that your project needs:
$ npm install karma-jasmine karma-chrome-launcher jasmine-core --save-dev
二:安装全局命令行
npm install -g karma-cli
三:生成配置文件
karma init
$ karma init my.conf.js
Which testing framework do you want to use?
Press tab to list possible options. Enter to move to the next question.
> jasmine
Do you want to use Require.js?
This will add Require.js plugin.
Press tab to list possible options. Enter to move to the next question.
> no
Do you want to capture a browser automatically?
Press tab to list possible options. Enter empty string to move to the next question.
> Chrome
> Firefox
>
What is the location of your source and test files?
You can use glob patterns, eg. "js/*.js" or "test/**/*Spec.js".
Press Enter to move to the next question.
> *.js
> test/**/*