Astrisk Blog

JAVASCRIPT AUTO TEST-KARMA

• JAVASCRIPT

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

Architecture

Features

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

Comparison

Comparison

Install

  1. Nodejs
    • 官网: https://nodejs.org/
    • Npm: https://docs.npmjs.com/getting-started/installing-node
    • 检查安装:node -v; npm -v
  2. Karma
# Install Karma
$ npm install karma local

#Commandline Interface
$ npm install g karma-cli

#Check
$karma --version
  1. 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

Config

Run Karma

  • 修改配置文件如下

karma4

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/