Introduction
Karma 是Google 开源的一个基于Node.js 的 JavaScript 测试执行过程管理工具(Test Runner)。 Karma 可以在不同的桌面或移动设备浏览器上,或在持续集成的服务器上测试 JavaScript 代码。Karma 支持 Chrome、ChromeCanary、 Safari、Firefox、 IE、Opera、 PhantomJS,知道如何捕获浏览器正使用的默认路径,这些路径可能在启动器配置文件被忽视(overridden)。Karma 就是一个可以和多重测试框架协作的测试执行过程管理工具,它有针对Jasmine、 Mocha 和AngularJS 的适配器,它也可以与 Jenkins 或 Travis 整合,用于执行持续集成测试。
Architecture

Features
- Testing on Real Browers
- Remote Control
- Speed
- Integration With IDEs and text editors
- Integration With CI Servers
- Extensibility
- Debugging
Comparison

Install
- Nodejs
- 官网: https://nodejs.org/
- Npm: https://docs.npmjs.com/getting-started/installing-node
- 检查安装:node -v; npm -v
- Karma
# Install Karma
$ npm install karma (local)
#Commandline Interface
$ npm install –g karma-cli
#Check
$karma --version
- Plugins
# Install plugins
$ npm install karma-jasmine
$ npm install karma-chrome-launcher
$ npm install karma-firefox-launcher
$ npm install karma-phantomjs-launcher
$ npm install karma-coverage
Config
# Generate karma config file
$ karma init

Run Karma

basePath: 默认为’’; 如果用相对路劲,是相对与配置文件的路径
files: 文件加载的顺序是根据匹配模式的顺序来确定的
browser: Chrome;PhantonJS;Firefox;Opera;IE;Safari;ChromeCanary
#Run karma
$karma start my.conf.js(配置文件名)
Uninstall And Update
#Uninstall karma
$npm uninstall karma
#Update karma
$npm update karma
Jenkins CI
- Install Prerequisites
- 在jenkins CI Server上安装
Node
Karma
- Configure Karma
- Create a new Jenkins Job
- Configure the Build Environment
Info
- Node.js: https://nodejs.org/
- Npm: https://docs.npmjs.com/getting-started/installing-node
- Karma: http://karma-runner.github.io/0.12/index.html
- Jasmine: http://jasmine.github.io/2.0/introduction.html
- PhantomJS: http://phantomjs.org/quick-start.html
- Are you test your javaScript:https://msdn.microsoft.com/en-us/magazine/gg655487.aspx
- Sinon.JS:http://sinonjs.org/