1、簡介
單元測試:對每一個function進行獨立測試,驗證數據能否正確流入、流出
Jasmine:編寫測試腳本
Karma:驅動測試腳本
2、準備工作
安裝node.js,初始化 npm 包管理,創建 package.json 項目管理文件。
3、安裝Karma
(1)在項目中安裝karma
命令 E:\project\karmatest> npm i -D karma
(2)全局安裝karma-cli
命令 E:\project\karmatest> npm i -g karma-cli
4、安裝 Jasmine 和 chrome-launcher(瀏覽器的適配器)
命令 E:\project\karmatest> npm i -D jasmine-core karma-jasmine karma-chrome-launcher
5、創建 karma 配置文件
(1)初始化karma,配置項除了路徑都填默認值即可,完成後即生成karma.conf.js文件
(2)啓動 karma
命令:E:\project\karmatest> karma start
啓動後,karma會自動打開chrome瀏覽器,出現如下畫面,點擊debug按鈕,然後打開控制檯,由於還未編寫測試用例,此刻控制檯中應該還沒有打印值。
6、用 Jasmine 編寫測試用例
(1)在項目目錄下創建一個名爲 test 的子文件夾來保存測試用例。然後在 test 文件夾中創建一個 unit 的文件夾來保存單元測試用例。
(2) 在項目目錄下,創建一個名爲 src 的子文件夾來保存我們的應用代碼,在其中創建一個名爲 add.js 的腳本文件,我們將測試它的工作是否正確。
(3) add.js代碼:
function add(a, b){
return a + b;
}
(4) 針對add方法寫兩個測試用例,保存到 ./test/unit/add.spec.js 文件中,一般我們約定測試用例的文件名以 .spec.js 爲結尾。
describe('add方法的測試用例', function(){
it('用例1,這個用例必須成功', function(){
var result = add( 2, 3 );
expect( result ).toBe( 5 );
});
it('用例2,這個用例必須失敗', function(){
var result = add( 2, 3 );
expect(result).toBe( 6 );
})
});
(5) 確認在我們 karma 的配置文件karma.conf.js中,包含了我們的測試用例。
// list of files / patterns to load in the browser
files: [
'test/**/*.spec.js'
],
(6)用第5步(2)的方式啓動karma,已經啓動的刷新剛剛的debug頁面即可。觀察控制檯打印值。
附:Jasmine 常用語法,轉自:http://blog.csdn.net/huangpb123/article/details/70168221