Jest 學習筆記(一)之matchers
Jest官網地址: https://facebook.github.io/jest/
Jest是專門被facebook用於測試包括React應用在內的所有javascript代碼,Jest旨在提供一個綜合的零計算的測試體驗。
因為沒有找到文檔,基於我個人的經驗,Jest是要在babel環境下才能夠使用的,所以請查看babel官網首頁學習babel安裝方式。
安裝jest,在控制臺的項目所在文件夾輸入下列代碼:
npm install --save-dev jest 或者 yarn add --dev jest
在package.json中配置:
{ "scripts": { "test": "jest" } }
你可以使用Jest中的“matchers”去測試代碼,以下將介紹最常用的matchers.
test(‘two plus two is four‘, () => { expect(2 + 2).toBe(4); });
以上代碼為jest的書寫方式,expect(2 +2) 返回一個“expectation”對象,你除了調用這個對象,通常不會有太多其他的操作。toBe(4) 就是matcher。
toBe():用 === 來測試完全相等
toEqual(): 測試對象是否相等。
toBeNull(): 只匹配Null
toBeUndefined(): 只匹配undefined
toBeFalsy():匹配假。0和null都為假哦。
toBeCloseTo():浮點數的比較。不能使用toEqual().
toMatch():匹配字符串中是否存在字符,與正則表達式搭配使用。expect(‘Christoph‘).toMatch(/stop/);
toContain(): 數組是否包含某特定子項。但是不能測試數組裏是否包含某一數組。
toThrow(): 因為怎麽用錯誤處理,沒太看懂。原文:如果你想要測試的特定函數拋出一個錯誤,在它調用時,使用 toThrow
。
Jest 學習筆記(一)之matchers