什麼是自動化測試

程式寫出來,就必須實際去操作,看看操作的結果有沒有符合預期,程式有沒有bug,這就是所謂的「測試」。

但是隨著你製作的專案越來越大,除了要測試新功能外,我們還要去測試舊的功能是不是依然是好的,如果擺著都不測試的話,專案產品實際上線後如果發生了什麼問題可就完蛋了,但是每次都要手動去測試真的超級麻煩又花掉很多時間,該怎麼辦?這個時候就需要自動化測試了。

自動化測試就是要寫一段程式,或是用軟體做一些設定,讓電腦去幫你做測試的工作,你要告訴電腦該做哪些測試,輸入什麼樣的值,得到的結果該是多少,電腦就會自己幫你做測試,然後回報結果給你。

那些台灣軟體產業所缺少的 – 自動化測試


Mocha - 自動化測試框架

Mocah logo

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
    

實際來寫寫看測試程式

用 mocha 進行 node.js 專案測試


Chai - 斷言(assertion)庫

Chai logo

在程式設計中,斷言(assertion)是一種放在程式中的一階邏輯(如一個結果為真或是假的邏輯判斷式),目的是為了標示與驗證程式開發者預期的結果-當程式執行到斷言的位置時,對應的斷言應該為真。若斷言不為真時,程式會中止執行,並給出錯誤訊息。

Chai是一套斷言庫,可以讓Mocha的測試程式碼寫起來更簡單,更像人類看的東西。

安裝指令

npm install --save-dev chai

參考資料: Mocha官方網站 Mocah教學 Chai官方網站

results matching ""

    No results matching ""