近期,Astro 在其官方博客中宣布,虽然我们对 Mocha 感到满意,但也在寻求让我们的 CI 作业更快的方法。最终将超过 500 多个测试从 Mocha 迁移到了 Node.js。
先了解下 Astro 是什么?Astro 是适合构建像博客、营销网站、电子商务网站这样的以内容驱动的网站的 Web 框架。没有强绑定一些 UI 框架,它支持像 React、Preact、Svelte、Vue、Solid、Lit、HTMX、Web 组件等这些前端 UI 框架。
一开始,Astro 只是迁移了一个尚未使用 astro 集成套件的软件包:create-astro,由 Mocha 转为使用 Node.js 内置断言库 node:assert。
当成功迁移了第一个包后,潘多拉的盒子便已打开。之后开始尝试迁移 @astrojs/node 包的测试套件。这个集成是 Astro 下载量最大的集成之一。
根据其博客描述,对最终的结果是感到满意的。在迁移之后没有看到性能出现任何显著退化。
Node.js 内置测试模块毕竟还比较新,在实现过程中也有遇到一些问题的,例如:
--test-name-pattern 而不是 --match,-m 参数;
--test-timeout 而不是 --timeout,-t 参数,等等。
使用 --test-only 参数运行 CLI
将 .only 添加到包含要运行的 it.only 的 describe 中。
如果有多个 describe 实例,所有这些实例都需要标记为 .only。
对于 Astro 来讲,使用 Node.js 内置测试运行器,对于它们的主 monorepo 有一些优势:
Astro 在其博客最后由提到以下两句话:
“Node.js 测试运行器仍然年轻,并且在积极开发中,有望变得更好。例如,Node.js 项目目前正在评估在我们提出使用案例后使用主进程运行测试”。
“以真正的开源合作精神,我们很高兴通过将我们的测试切换到 Node.js 来改进 Astro,反过来也将改进 Node.js 本身!”
这也是一种相互合作,相互成就吧!感谢 Astro 能够促进 Node.js 内置测试模块的发展!
参考 https://astro.build/blog/node-test-migration/
本文链接:http://www.28at.com/showinfo-26-80336-0.htmlAstro 宣布:将超过 500 多个测试从 Mocha 迁移到了 Node.js
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com
上一篇: 滴滴送花 3 月暴增 19 倍 乌鲁木齐市民最爱快送鲜花
下一篇: 深入探索堆:Go语言中的高效数据结构