集成 Karma 和 Jasmine 進行單元測試

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章