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