simple, flexible, fun — Mocha
甚麼是 Mocha ?
寫程式就一定搭配測試,測試的重要性已經是一個無庸置疑的議題。今天主要介紹一個 JavaScript 中很多人使用,也非常好用的測試框架,Mocah。 Mocha 的主要作者是 Node.js 裡的名人 TJ Holowaychuk,他也是 express 就是他的主要貢獻者。
Mocha 預設是採用 BDD(Behavior Driven Development) 模式,從 user story 出發來編寫測試程式。BDD 是 agile 或者 scrum 的開發流程典型的測試方法。但現在的 Mocha 不只可以 BDD,也可以用在 TDD(Task Driven Development) 的模式下。
Mocha 支持同步與非同步的測試,也支持直接在瀏覽器環境與後端環境下測試。是個非常廣泛而好用的測試框架。
第一個 Mocha Example
1 | var assert = require('chai').assert; |
這邊使用官網的範例來解釋,一個最基礎的測試程式長這樣,主要由三個部分組成:
- describe (moduleName, testDetails):用來描述 User Story 所需要測試的 task。
上面這個範例的意思就是說,用來測試 Array 中的 indexOf(),不過具體可以由開發者取一個清楚明白的名稱就好。 - it (info, function):一個 it 對應一個 test case,用 info 描述所測試的內容。
- assert.equal (exp1, exp2):判斷結果,mocha 通常會搭配
chai
使用,用來判斷結果是否滿足需求。
1 | $ mocha |
使用 mocha 執行寫測試檔案,就會運行測試腳本。如果搭配框架使用的話,也可以利用 npm script 執行。結果顯示會透過 ‘.’ 表示測試成功, ‘F’ 表示測試失敗,最後總結本次的測試情況。
Reference
[1] Mocha.js
[2] 带你入门带你飞Ⅰ 使用Mocha + Chai + Sinon单元测试Node.js
[3] 测试框架 Mocha 实例教程
License
本著作由 Chang, Wei-Yaun (v123582) 製作,
以創用CC 姓名標示-相同方式分享 3.0 Unported授權條款釋出。