2020年值得你去尝试的JavaScript测试框架
StateOfJS是一个关于JavaScript的年度调查,今年参与调查的开发者超过了21000个,通过StateOfJS可以看到JavaScript在整个年度中的趋势发展,这些数据节点包括前端Web框架、数据库、移动框架、构建工具和JavaScript测试工具等。
这是一个非常全面的JavaScript调查,除了StateOfJS还有其他非常流行的调查,比如StackOverflow developer survey,它就吸引了10万多的用户参与调查。Jetbrain的开发者生态系统报告也相当全面,参与调查的人数多达6000多。
根据这些报告,以下是2019年最受JavaScript开发者青睐的测试工具。
1、Jest
Jest是Facebook团队构建和维护的JavaScript测试框架,基于Jasmine的JavaScript单元测试框架。Jest在2018年接受度非常高,今年在JavaScript社区更是如此,根据Github的数据,目前超过150万个项目在使用Jest。
在过去的一年里继续使用Jest的用户占比从39%飙升至61%,这是一个周期性的增长率,从2017年到2018年一直在增长,不过,对Jest感兴趣的人数比例也下降了,这个数字从29%下降到22%。
2、Mocha
Mocha是近年来使用量最多的JavaScript测试框架之一,除了庞大的生态系统,Mocha还有完善的文档可供参考。Mocha非常灵活,对许多扩展都是支持的,根据Github的数据,Mocha已经被90多万个项目使用。
根据调查显示,在过去的一年里,继续使用Mocha的用户占比从39%飙升至42%,大约8%的受访者没有听说过Mocha。
3、Storybook
Storybook是一个UI组件的开发环境。通过它用户可以查看每个组件的不同状态,交互式开发、测试组件,它在Github上拥有庞大的用户群,Storybook的用户留存率在2019年度翻了一番,从15%增加到32%,对其感兴趣的用户也从23%增长至26%。
4、Cypress
Cypress是一个快速可靠的JavaScript测试工具,它基本上是将测试注入到Web应用程序中去,Cypress同样提供了一个清晰的文档,目前,Cypress最大的竞争对手是一个名为TestCafe的测试框架。
根据Github数据显示,目前使用Cypress的用户已经超过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,它最大的优势是 Java 的异步特性和并发运行测试, 这反过来提高了性能。根据GitHub的数据,目前有47000个项目在使用它,去年,大约72%的JavaScript开发人员听说过Ava。今年,这一数字降至69%,但是用户留存率则上升至5%。
7、Jasmine
Jasmine 是一款 JavaScript测试框架,它不依赖于其他任何 JavaScript组件,因此,它适合于网站、Node.js项目或任何JavaScript可以运行的地方。根据调查,在2019年度,Jasmine的用户留存率略有上升,但是和其他框架相比还有一定差距。
8、Puppeteer
Puppeteer是谷歌官方出品的一个通过DevTools协议控制headless Chrome的Node库。可以通过Puppeteer的提供的api直接控制Chrome模拟大部分用户操作来进行UI Test或者作为爬虫访问页面来收集数据。