什麼是自動化測試
程式寫出來,就必須實際去操作,看看操作的結果有沒有符合預期,程式有沒有bug,這就是所謂的「測試」。
但是隨著你製作的專案越來越大,除了要測試新功能外,我們還要去測試舊的功能是不是依然是好的,如果擺著都不測試的話,專案產品實際上線後如果發生了什麼問題可就完蛋了,但是每次都要手動去測試真的超級麻煩又花掉很多時間,該怎麼辦?這個時候就需要自動化測試了。
自動化測試就是要寫一段程式,或是用軟體做一些設定,讓電腦去幫你做測試的工作,你要告訴電腦該做哪些測試,輸入什麼樣的值,得到的結果該是多少,電腦就會自己幫你做測試,然後回報結果給你。
Mocha - 自動化測試框架
Mocha 是一個功能豐富的JavaScript測試框架,他可以跑在node和瀏覽器上,使異步測試變得簡單和有趣。Mocha在運行測試用例過程中,當捕獲到錯誤時,依舊能夠靈活地運行精確的報告。
- 全局安裝
npm install -g mocha
項目安裝
使用-dev是因為測試程式在正式產品中是不會出現的,只有在開發的時候才會用到。
npm install --save-dev mocha
執行測試用例
Mocha預設運行
test
子目錄裡面的測試腳本。所以,一般都會把測試腳本放在test
目錄裡面,然後執行mocha
就不需要參數了。mocha
如果要執行特定的測試檔案,就在mocha後面加上指定檔名即可。
mocha test.js
Mocha默認只執行
test
子目錄下面第一層的測試用例,不會執行更下層的用例。為了改變這種行為,就必須加上--recursive
參數,這時test
子目錄下面所有的測試用例,不管在哪一層都會執行。mocha --recursive
實際來寫寫看測試程式
Chai - 斷言(assertion)庫
在程式設計中,斷言(assertion)是一種放在程式中的一階邏輯(如一個結果為真或是假的邏輯判斷式),目的是為了標示與驗證程式開發者預期的結果-當程式執行到斷言的位置時,對應的斷言應該為真。若斷言不為真時,程式會中止執行,並給出錯誤訊息。
Chai是一套斷言庫,可以讓Mocha的測試程式碼寫起來更簡單,更像人類看的東西。
安裝指令
npm install --save-dev chai