Js單元測試工具 以及 粗淺的對個人快樂運算進行測試

1. Karma的介紹

Karma是Testacular的新名字,在2012年google開源了Testacular,2013年Testacular更名爲Karma。Karma是一個讓人感到很是神祕的名字,表示佛教中的緣分,因果報應,比Cassandra這種名字更讓人猜不透!javascript

Karma是一個基於Node.js的JavaScript測試執行過程管理工具(Test Runner)。該工具可用於測試全部主流Web瀏覽器,也可集成到CI(Continuous integration)工具,也可和其餘代碼編輯器一塊兒使用。這個測試工具的一個強大特性就是,它能夠監控(Watch)文件的變化,而後自行執行,經過console.log顯示測試結果。java

2. jasmine介紹

Jasmine是一個用來編寫Javascript測試的框架,它不依賴於任何其它的javascript框架,也不須要對DOM。它有擁有靈巧而明確的語法能夠讓你輕鬆的編寫測試代碼。chrome

 

好了,上面兩條都是我在網上找來的,用處不大。npm

 

接下來將展現我整個測試過程。json

 

首先的首先 初始化npm 輸入npm install瀏覽器

 

1.首先進入代碼所在目錄,安裝karma,使用命令框架

npm install --save-dev karma

其中 --save-dev將karma安裝到開發環境,會在package.json中添加一條編輯器

"devDependencies": {
  "karma": "^0.13.22"
}

2.接着初始化karma,使用工具

karma init

選擇使用jasmine,一路回車,最後會生成一個文件karma.conf.js。測試

在karma.conf.js中設置要測試的目標js以及測試用例js的位置。這裏修改files的參數便可,個人配置以下。

// list of files / patterns to load in the browser
    files: [
        'js/**/*.js',
        'test/**/*.js'
    ],

其中**表示匹配任意數目的任意字符,包括'/'

*也匹配任意字符,可是*不包括'/'。

最後在test中新建一個TestCase.js文件,用來編寫測試用例。

這是個人TestCase.js,我只測試了生成結果的正確性(本身構造分數表達式),

describe("A test case on function", function(){
    it("test answer", function(){
        var f = [];
        var a = new Fraction(1,3);
        f.push(a);
        f.push('+');
        a = new Fraction(2,3);
        f.push(a);
        var i = [];
        i.push(f);
        expect(1).toEqual(outputFraction(normalizeFraction(showFormula(i))));
    });
    it("test answer", function(){
        var f = [];
        var a = new Fraction(7,8);
        f.push(a);
        f.push('+');
        a = new Fraction(2,3);
        f.push(a);
        var i = [];
        i.push(f);
        expect('37/24').toEqual(outputFraction(normalizeFraction(showFormula(i))));
    });
    it("test answer", function(){
        var f = [];
        var a = new Fraction(1,3);
        f.push(a);
        f.push('-');
        a = new Fraction(2,3);
        f.push(a);
        var i = [];
        i.push(f);
        expect('-1/3').toEqual(outputFraction(normalizeFraction(showFormula(i))));
    });

});

這裏測試了三組數據,分別是1/3+2/3,7/8+2/3,1/3-2/3,手動計算結果傳入參數。

在cmd中輸入

karma start

後會自動運行chrome瀏覽器,而且給出測試結果,運行結果以下:

結果顯示 測試成功 3組測試數據均經過。

以上,是測試的整個過程。

相關文章
相關標籤/搜索