jasmine 簡介node
Jasmine 是一個含有豐富的斷言庫的測試框架。目前我用的最新的版本是:2.6npm
基礎篇json
命令行中環境中使用jasmineapp
安裝
npm install -g jasmine //這裏採用全局安裝,好處是直接cmd就能用,也能夠採用本地安裝
初始化配置文件
jasmine init
生成的配置文件以下jasmine.json:
{
"spec_dir": "spec", //spec 所在目錄
"spec_files": [框架
"**/*[sS]pec.js" //測試文件,相對於spec_dir
],
"helpers": [dom
"helpers/**/*.js" //測試前輔助文件,相對於spec_dir
],
"stopSpecOnExpectationFailure": false, //
"random": false
}
運行測試
//直接根據配置文件運行
jasmine 測試
//執行測試某個文件
jasmine appSpec.js
node 環境中使用jasmineui
var Jasmine = require('jasmine');
var jasmine = new Jasmine();
加載配置文件
//方式1
jasmine.loadConfigFile('spec/support/jasmine.json');this
//方式2
jasmine.loadConfig({命令行
spec_dir: 'spec', spec_files: [ 'appSpec.js', 'requests/**/*[sS]pec.js', 'utils/**/*[sS]pec.js' ], helpers: [ 'helpers/**/*.js' ]
});
自定義測試完成事件
jasmine.onComplete(function(passed) {
if(passed) { console.log('All specs have passed'); } else { console.log('At least one spec has failed'); }
});
自定義測試報告
jasmine.configureDefaultReporter({
timer: new this.jasmine.Timer(), print: function() { process.stdout.write(util.format.apply(this, arguments)); }, showColors: true, jasmineCorePath: this.jasmineCorePath
});
var CustomReporter = require('./myCustomReporter');
var customReporter = new CustomReporter();
jasmine.addReporter(customReporter);
執行測試
jasmine.execute();
jasmine.execute(['fooSpec.js'], 'a spec name');
簡單完整的測試案例
var Jasmine = require('jasmine');
var jasmine = new Jasmine();
jasmine.loadConfigFile('spec/support/jasmine.json');
jasmine.configureDefaultReporter({
showColors: false
});jasmine.execute();