2020年值得你去嘗試的JavaScript測試框架
StateOfJS是一個關(guān)于JavaScript的年度調(diào)查,今年參與調(diào)查的開發(fā)者超過了21000個,通過StateOfJS可以看到JavaScript在整個年度中的趨勢發(fā)展,這些數(shù)據(jù)節(jié)點包括前端Web框架、數(shù)據(jù)庫、移動框架、構(gòu)建工具和JavaScript測試工具等。
這是一個非常全面的JavaScript調(diào)查,除了StateOfJS還有其他非常流行的調(diào)查,比如StackOverflow developer survey,它就吸引了10萬多的用戶參與調(diào)查。Jetbrain的開發(fā)者生態(tài)系統(tǒng)報告也相當全面,參與調(diào)查的人數(shù)多達6000多。
根據(jù)這些報告,以下是2019年最受JavaScript開發(fā)者青睞的測試工具。
1、Jest
Jest是Facebook團隊構(gòu)建和維護的JavaScript測試框架,基于Jasmine的JavaScript單元測試框架。Jest在2018年接受度非常高,今年在JavaScript社區(qū)更是如此,根據(jù)Github的數(shù)據(jù),目前超過150萬個項目在使用Jest。
在過去的一年里繼續(xù)使用Jest的用戶占比從39%飆升至61%,這是一個周期性的增長率,從2017年到2018年一直在增長,不過,對Jest感興趣的人數(shù)比例也下降了,這個數(shù)字從29%下降到22%。
2、Mocha
Mocha是近年來使用量最多的JavaScript測試框架之一,除了龐大的生態(tài)系統(tǒng),Mocha還有完善的文檔可供參考。Mocha非常靈活,對許多擴展都是支持的,根據(jù)Github的數(shù)據(jù),Mocha已經(jīng)被90多萬個項目使用。
根據(jù)調(diào)查顯示,在過去的一年里,繼續(xù)使用Mocha的用戶占比從39%飆升至42%,大約8%的受訪者沒有聽說過Mocha。
3、Storybook
Storybook是一個UI組件的開發(fā)環(huán)境。通過它用戶可以查看每個組件的不同狀態(tài),交互式開發(fā)、測試組件,它在Github上擁有龐大的用戶群,Storybook的用戶留存率在2019年度翻了一番,從15%增加到32%,對其感興趣的用戶也從23%增長至26%。
4、Cypress
Cypress是一個快速可靠的JavaScript測試工具,它基本上是將測試注入到Web應用程序中去,Cypress同樣提供了一個清晰的文檔,目前,Cypress最大的競爭對手是一個名為TestCafe的測試框架。
根據(jù)Github數(shù)據(jù)顯示,目前使用Cypress的用戶已經(jīng)超過2.5萬個,用戶留存率為23%。
5、Enzyme
Enzyme來自airbnb公司,是一個用于React的JavaScript測試工具,方便你判斷、操縱和歷遍React Components輸出。
Enzyme的API通過模仿jQuery的API ,使得DOM操作和歷遍很靈活、直觀。Enzyme 兼容所有的主要測試運行器和判斷庫,文檔和例子使用mocha和chai。在2019年度,Enzyme的用戶留存率從20%上升到23%
6、Ava
Ava一個簡約的測試庫,AVA具有簡潔的API,它最大的優(yōu)勢是 Java 的異步特性和并發(fā)運行測試, 這反過來提高了性能。根據(jù)GitHub的數(shù)據(jù),目前有47000個項目在使用它,去年,大約72%的JavaScript開發(fā)人員聽說過Ava。今年,這一數(shù)字降至69%,但是用戶留存率則上升至5%。
7、Jasmine
Jasmine 是一款 JavaScript測試框架,它不依賴于其他任何 JavaScript組件,因此,它適合于網(wǎng)站、Node.js項目或任何JavaScript可以運行的地方。根據(jù)調(diào)查,在2019年度,Jasmine的用戶留存率略有上升,但是和其他框架相比還有一定差距。
8、Puppeteer
Puppeteer是谷歌官方出品的一個通過DevTools協(xié)議控制headless Chrome的Node庫??梢酝ㄟ^Puppeteer的提供的api直接控制Chrome模擬大部分用戶操作來進行UI Test或者作為爬蟲訪問頁面來收集數(shù)據(jù)。
根據(jù)調(diào)查顯示,Puppeteer的用戶留存率為24.3%,盡管已經(jīng)有超過55,000個項目在使用Puppeteer,但用戶對它的認識還是不夠。
Puppeteer和Cypress是今年新加入的成員,但是已經(jīng)成為 Mocha、 Jasmine、Jest等測試框架的強有力對手。Jest的用戶里96%都是回頭客。