Karma-Jasmine之安裝與實例詳解(一)

本文先介紹karma-jasmine的安裝。javascript

Karma介紹java

  首先說一下karma,官方是這樣給出的,karma不是一個測試框架,也不是一個斷言庫。karma只是啓動一個HTTP服務器,並生成HTML文件。因此你能夠選擇你本身喜歡的測試框架。如Jasmine,Mocha,QUnit等等。node

Jasmine介紹chrome

  Jasmine便是上面所說的JavaScript測試框架。它不依賴於其餘任何JavaScript組件,它有乾淨的語法,Jasmine斷言庫可讓你簡單的寫出測試代碼,(斷言:表示爲一些布爾表達式,你能夠採用假設的方式,當程序輸出的結果是否與假設的結果一致時,斷言爲真,不然,斷言爲假)在karma上運行Jasmine能夠完成JavaScript的自動化測試、生成覆蓋率報告等。npm

Karma安裝windows

  安裝Node.js瀏覽器

  karma是運行在node.js上的。因此首先安裝node.js.參考地址:http://pan.baidu.com/s/1jHrCh74#list/path=%2F下載一路next便可(舒適提示:最好改一下安裝路徑)  服務器

                                                            

  安裝karma框架

  點擊桌面左下角開始菜單,找到Node.js中的第一項,以下圖:測試

                                            

      將karma安裝到本身喜歡的位置。我安裝到了E:\tomjia-soft\karma下(關於windows下的文件目錄跳轉用cd)

      

  安裝karma,輸入命令:npm install karma --save-dev

      

  ok,karma已經安裝成功了。

  ③安裝插件  

  接下來安裝karma-jasmine、karma-chrome-launcher(chrome瀏覽器啓動器)插件。

  npm install karma-jasmine karma-chrome-launcher --save-dev

      

  ok,插件已經安裝成功。

  ④安裝karma-cli

  karma-cli用來簡化karma的調用,方便使用karma

      輸入命令:npm install -g karma-cli

      

  安裝已經所有完成了。安裝完成後的目錄以下:

      

 

Karma使用

  啓動karma,輸入命令:karma start

      

 

      自動彈出chrome瀏覽器窗口

      

 

      返回命令窗口時會報錯,由於尚未配置文件。這時先不用管,直接關掉命令窗口便可。同時瀏覽器也隨之關閉。

      從新跳轉到karma目錄下,以下圖:並執行  karma init  命令。

      

      上圖說明:①你選擇哪個測試框架:咱們選擇jasmine

           ②你想要使用Require.js嗎?:(RequireJS是一個很是小巧的JavaScript模塊載入框架)這裏咱們不須要。

           ③你想讓那個瀏覽器自動捕獲:這裏能夠能夠選擇多個,咱們只用chrome。

           ......

           ⑥你但願karma一直監控全部的文件而且不停地測試嗎?:咱們須要自動化測試,因此咱們選擇yes。

      配置文件已搞定。以下圖:

      

      打開配置文件:咱們須要注意兩個地方:

      

  12都是設置路徑的。1中的bathPath:能夠設置(設置爲相對於配置文件karma.conf的路徑),也能夠不設置。若是不設置的話。2中的files中的路徑就是相對於配置文件karma.conf的路徑。下文將有體現。若是bathPath設置了,2中的files中的路徑就是相對於1中的路徑而言。

  咱們新建一個文件夾命名爲TestFiles。放在配置文件的上一級。TestFiles下有兩個js文件。分別是測試文件jasmineTest.js和被測試文件test.js.以下圖所示:

      

                     

      接下來咱們不設置配置文件中的1,直接設置2路徑(固然你也能夠設置1,再設置2)。如圖所示:

      

    files: [
        '../TestFiles/jasmineTest.js',
        '../TestFiles/test.js'
    ],

  test.js文件內容:     

function TT() {
    return "abc";
}

  jasmineTest文件內容:

describe("A suite of basic functions", function () {
    it("test", function () {
        expect("abc").toEqual(TT());
    });
});

  再次啓動karma:結果以下:

      

      

  點擊debug:F12調試

      

  改變test.js內容,以下圖:

function TT() {
    return "abc123";
}

  保存,打開命令窗口:觀察可得:

      

    打開瀏覽器,刷新!刷新!,點擊debug F12調試觀察可得:

      

      這就體現了karma經過瀏覽器自動測試的功能。

相關文章
相關標籤/搜索