象限图

象限图

以下图表展示了满意度用户数量的对比。

额外地,对于感兴趣程度(非用户,但有兴趣学习此项技术)高于 50% 的技术,会在技术图标背后出现“火焰🔥”标识。

评估阶段避免采用分析阶段89%SbStorybook82%MoMocha75%JaJasmine96%JeJest88%EzEnzyme72%AvAva68%KaKarma0.02.0k4.0k6.0k8.0k10k0%10%20%30%40%50%60%70%80%90%100%满意度 %用户数量
评估阶段: 使用率低,但满意度高。 值得关注的技术。
采用: 使用率高,满意度也高。可以放心地使用。
避免: 使用率低,且满意度低。 建议避免使用的技术。
分析阶段: 使用率高,但满意度低。 如果你正在使用这个技术,建议重新对它们进行评估。

结论

测试方面的现状则稍显不同。如今,JavaScript 生态系统的其他部分在经过一段时间的发展与沉淀后日渐稳定,且已产生几个公认的解决方案。相比之下,测试方面则还处在混乱时期:许多不同的或相互配合的工具相对平均地瓜分了测试工具体系。尽管如此,开发者对测试环境的解决方案整体上还是满意的。根据今年的调查结果,测试类工具满意度最低的也有 68%。

调查结果还显示,Mocha 依旧是当下最热门的单元测试框架,它坐拥超过一万名用户。由于 Mocha 的存在时间较长,因此它拥有测试框架中最大的生态系统,而且大部分 Node.js 开发者也很熟悉它。

Jest 在使用量方面仅次于 Mocha;但相对于 Mocha 82% 的满意度,Jest 的满意度为 96%。值得注意的是,Jest 96% 的满意度,在今年调查的所有工具中排名第二,第一名是 ES6。

看来,开发者对 Facebook 提供的这个功能完备的测试框架十分满意。Jest 一开始只是用来测试 React 组件的,但现在它不光可以用来测试前端代码,甚至可以用于测试后端代码。而这一切都不需要进行额外地配置。

在“单页面应用”时代,随着越来越多的逻辑被迁移到客户端,网页应用已经变得越来越复杂。今年的调查也表明,开发者会使用多种测试类工具来测试他们开发的应用。

其实,测试包含很多方面:单元测试、集成测试、端对端测试,同时还有“视觉测试”(visual testing)。值得注意的是 Storybook,它是“视觉测试”方面一个很好的应用,同时也是这类工具中满意度第二高的。

测试的其中一个未来趋势就是在浏览器中引入自动化测试。我们会考虑在下一年的调查中添加此类工具,比如 Cypress。同时,我们应该会在明年看到更多基于 Puppeteer 的新工具。