Karma:2. 集成 Karma 和 mocha 進行單元測試


上一篇文章討論了如何集成 Karma 和 Jasmine,地址見:Karma:1. 集成 Karma 和 Jasmine 進行單元測試

這篇文章討論如何 Karma 集成 mocha 測試框架。

安裝 mocha 組件

我們需要分為兩個部分,基本的 mocha 測試框架和 karma 的 mocha 插件。

安裝 mocha 和 chai

mocha 是一個測試框架,自己已經提供了一套斷言,但是,我們通常會需要使用類似 Jasmine 風格的斷言,通過 chai 這個斷言庫,可以提供 expect 風格的斷言支持。所以,我們需要安裝這兩個庫。

i 表示 install,-D 表示這是一個開發的依賴庫。

> npm i -D chai mocha
├── chai@3.5.0 ├─┬ karma@0.13.21 │ └─┬ useragent@2.1.8 │ └── lru-cache@2.2.4 └─┬ mocha@2.4.5 └─┬ glob@3.2.3 └─┬ minimatch@0.2.14 └── lru-cache@2.7.3 PS C:\study\karmaStudy\karma1>

 

有了這兩個庫,我們就可以寫單元測試了。

安裝 karma 的 mocha 插件

為了通過 karma 來驅動 mocha 進行單元測試,我們還需要一組 karma 插件。karma-chai 和 karma-mocha。

> npm i -D karma-mocha karma-chai
├── karma-chai@0.1.0
└── karma-mocha@0.2.2

 

配置 Karma 

在你的 Karma 配置文件中,配置使用 mocha 和 chai。

    frameworks: ['mocha', 'chai'],

 

為了使用 expect, 你需要先定義這個函數。

describe('add unit test.', function(){
    var expect = chai.expect;
    it('2 + 3 = 5', function(){
        var result = add(2, 3);
        expect( result).to.equal( 5 );     
    });
});

 

重新執行上一次的測試,應該已經成功了。

總結

使用 mocha 的時候,斷言的寫法與 Jasmine 有所不同,為了使用 expect 我們需要使用 chai 這個斷言庫。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM