單元測試

一、簡單入門

如果只是單純想測試某個js函數(shù)執(zhí)行的結(jié)果是否符合預(yù)期結(jié)果,可用此方法。

  1. 安裝測試框架mocha和斷言庫chai
npm i -g mocha chai

mocha:mocha是一個基于nodejs和瀏覽器集合的各種特性的JavaScript測試庫,并且讓異步測試變得簡單,支持TDD(測試驅(qū)動開發(fā))和BDD(行為驅(qū)動開發(fā)),在測試中捕獲到異常時,會給出靈活準(zhǔn)確的報告。
chai:chai是一個基于nodejs的斷言庫,并且完美支持各種主流的JavaScript測試框架。

  1. 寫測試用例
    在根目錄下新建一個test文件夾里面放置測試用例。
    測試模塊:
//add.js
function add (x, y) {
  return x + y
}
module.exports = add

測試用例:

//add.test.js
var add = require('./add.js')
//Mocha本身不帶斷言庫,所以必須先引入斷言庫。
var expect = require('chai').expect

describe('加法函數(shù)測試', function () {
  // mocha提供了4個hooks鉤子函數(shù)
  before(function() {
    // runs before all tests in this block
  });

  after(function() {
    // runs after all tests in this block
  });

  beforeEach(function() {
    // runs before each test in this block
  });

  afterEach(function() {
    // runs after each test in this block
   });

  // 測試用例
  it('1+1=2', function () {
    expect(add(1, 1)).to.be.equal(2) //“斷言”:就是判斷源碼的實際執(zhí)行結(jié)果與預(yù)期結(jié)果是否一致,如果不一致就拋出一個錯誤。
  })
})

上面這段代碼,就是測試腳本,它可以獨立執(zhí)行。測試腳本里面應(yīng)該包括一個或多個describe塊,每個describe塊應(yīng)該包括一個或多個it塊。
describe塊稱為"測試套件"(test suite),表示一組相關(guān)的測試。它是一個函數(shù),第一個參數(shù)是測試套件的名稱("加法函數(shù)的測試"),第二個參數(shù)是一個實際執(zhí)行的函數(shù)。
it塊稱為"測試用例"(test case),表示一個單獨的測試,是測試的最小單位。它也是一個函數(shù),第一個參數(shù)是測試用例的名稱("1 加 1 應(yīng)該等于 2"),第二個參數(shù)是一個實際執(zhí)行的函數(shù)。

  1. 執(zhí)行測試
    Mocha默認(rèn)運行test子目錄里面的測試腳本。所以,一般都會把測試腳本放在test目錄里面,然后執(zhí)行mocha就不需要參數(shù)了。
    --watch參數(shù)用來監(jiān)視指定的測試腳本。只要測試腳本有變化,就會自動運行Mocha。
mocha add.test.js --watch

or

mocha --watch

更多細(xì)節(jié):測試框架 Mocha 實例教程

參考文章

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容