前端單元測試總結及測試工具介紹

2021-07-04 20:56:45 字數 1301 閱讀 4372

2.1 測試框架

目前,前端的測試框架很多,像qunit、jasmine、mocha、jest、intern等框架,這些框架各有特點,簡單描述下,感興趣的可以具體研究:

2.2 斷言庫

2.3 mock庫

先來說說為什麼需要mock吧:需要測試的單元依賴於外部的模組,而這些依賴的模組具有一些特點,例如不能控制、實現成本較高、操作危險等原因,不能直接使用依賴的模組,這樣情況下就需要對其進行mock,也就是偽造依賴的模組。例如在使用xmlhttprequest時,需要模擬http statuscode為404的情況,這種情況實際很難發生,必然要通過mock來實現測試。

2.4 test runner

測試框架:判斷內部是否存在異常,存在則console出對應的text資訊

斷言庫:當actual值與expect值不一樣時,就丟擲異常,供外部測試框架檢測到,這就是為什麼有些測試框架可以自由選擇斷言庫的原因,只要可以丟擲異常,外部測試框架就可以工作。

mock函式:建立乙個新的函式,用這個函式來取代原來的函式,同時在這個新函式上新增一些額外的屬性,例如called、calledwitharguments等資訊

function describe (text, fn)  catch(e) 

}function fn () );

aftereach();

}}function it(text, fn)

function assert (expect, actual)

}function fn ()

function spy(cb)

proxy.called = false;

proxy.returnvalue = '...';

...return proxy;

} var proxy = spy(fn); // 得到乙個mock函式

4.1原則

4.2 tdd

一句話簡單來說,就是先寫測試,後寫功能實現。tdd的目的是通過測試用例來指引實際的功能開發,讓開發人員首先站在全域性的視角來看待需求。具體定義可以檢視維基;

就個人而言,tdd不是乙個技術,而是一種開發的指導思想。在目前網際網路的開發環境下,業務開發很難做到tdd開發,一是因為需要更多時間編寫單元測試用例;二是要求非常了解業務需求;三是要求開發人員有很強的**設計能力。但是當我們寫元件、工具方法、類庫的時候,tdd就可以得到很好地使用。

4.3 bdd

行為驅動開發要求更多人員參與到軟體的開發中來,鼓勵開發者、qa、相關業務人員相互協作。bdd是由商業價值來驅動,通過使用者介面(例如gui)理解應用程式。詳見維基.

C C 單元測試工具

做好單元測試,推薦學習國產的單元測試工具單元測試工具visual unit2.2。部分功能 自動生成測試 視覺化編輯測試用例,人工只需建立容易想到的測試用例 自動統計語句 條件 分支 路徑覆蓋 顯示引數 成員變數 返回值等輸入輸出資料 顯示每個用例所執行的 自動畫出邏輯結構圖 顯示邏輯結構圖中任一語...

Junit單元測試工具

1.1作用 junit單元單元測試測試,主要用於對程式進行專業化測試package a junit import org.junit.assert import org.junit.test public class test junit 使用junit專業的判定結果的方法 assert類,斷言類 ...

單元測試工具 winAMS

摘要 論述軟體測試工具winams caseplayer2在嵌入軟體單元測試中的應用。介紹了軟體測試工具的功能 插裝原理 測試環境搭建 覆蓋率測試 測試資料取得等相關技術研究及經驗總結。覆蓋率專家winams源自日本gaio公司,gaio公司創始於1980年,公司早期開發編譯器,隨後開發了基於源 分...