日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Astro 宣布:將超過 500 多個測試從 Mocha 遷移到了 Node.js

來源: 責編: 時間:2024-03-29 09:19:59 178觀看
導讀近期,Astro 在其官方博客中宣布,雖然我們對 Mocha 感到滿意,但也在尋求讓我們的 CI 作業更快的方法。最終將超過 500 多個測試從 Mocha 遷移到了 Node.js。先了解下 Astro 是什么?Astro 是適合構建像博客、營銷網站、電子

近期,Astro 在其官方博客中宣布,雖然我們對 Mocha 感到滿意,但也在尋求讓我們的 CI 作業更快的方法。最終將超過 500 多個測試從 Mocha 遷移到了 Node.js。wf828資訊網——每日最新資訊28at.com

先了解下 Astro 是什么?Astro 是適合構建像博客、營銷網站、電子商務網站這樣的以內容驅動的網站的 Web 框架。沒有強綁定一些 UI 框架,它支持像 React、Preact、Svelte、Vue、Solid、Lit、HTMX、Web 組件等這些前端 UI 框架。wf828資訊網——每日最新資訊28at.com

一開始,Astro 只是遷移了一個尚未使用 astro 集成套件的軟件包:create-astro,由 Mocha 轉為使用 Node.js 內置斷言庫 node:assert。wf828資訊網——每日最新資訊28at.com

當成功遷移了第一個包后,潘多拉的盒子便已打開。之后開始嘗試遷移 @astrojs/node 包的測試套件。這個集成是 Astro 下載量最大的集成之一。wf828資訊網——每日最新資訊28at.com

根據其博客描述,對最終的結果是感到滿意的。在遷移之后沒有看到性能出現任何顯著退化。wf828資訊網——每日最新資訊28at.com

Node.js 內置測試模塊畢竟還比較新,在實現過程中也有遇到一些問題的,例如:wf828資訊網——每日最新資訊28at.com

  • 一開始發現 “Node.js 測試運行器比 Mocha 慢得多”,經過調查發現是 Node.js 為每個測試文件生成了一個新進程,以確保每個測試套件都在隔離的環境中運行。這樣好處是保證了測試環境不會被污染。但通過創建一個臨時文件,導入所有的測試套件,讓 Node.js 執行該文件,這樣可在性能上得到保證。
  • 不能傳遞 --test-concurrency 標志(僅在 Node.js 21 及以上版本可用)
  • 參數名稱冗長:

--test-name-pattern 而不是 --match,-m 參數;wf828資訊網——每日最新資訊28at.com

--test-timeout 而不是 --timeout,-t 參數,等等。wf828資訊網——每日最新資訊28at.com

  • Mocha 中只需使用 it.only 就可以運行單個測試套件。而 Node.js 中你必須:
  • 使用 --test-only 參數運行 CLIwf828資訊網——每日最新資訊28at.com

  • 將 .only 添加到包含要運行的 it.only 的 describe 中。wf828資訊網——每日最新資訊28at.com

  • 如果有多個 describe 實例,所有這些實例都需要標記為 .only。wf828資訊網——每日最新資訊28at.com

對于 Astro 來講,使用 Node.js 內置測試運行器,對于它們的主 monorepo 有一些優勢:wf828資訊網——每日最新資訊28at.com

  • 減少了我們 monorepo 中需要安裝和維護的依賴項:mocha 和 chai。
  • API 遷移成本:Node.js 斷言模塊幾乎提供了我們所需的所有功能,因此從 chai 遷移并不像我們想象的那么痛苦。
  • 可維護性:有更多的人參與 Node.js 項目來維護 Node.js 測試運行器。
  • 未來的好處:我們相信測試運行器會隨著時間的推移而改進,并最終節省我們 CI 工作流程中的一些時間。

Astro 在其博客最后由提到以下兩句話:wf828資訊網——每日最新資訊28at.com

“Node.js 測試運行器仍然年輕,并且在積極開發中,有望變得更好。例如,Node.js 項目目前正在評估在我們提出使用案例后使用主進程運行測試”。wf828資訊網——每日最新資訊28at.com

“以真正的開源合作精神,我們很高興通過將我們的測試切換到 Node.js 來改進 Astro,反過來也將改進 Node.js 本身!”wf828資訊網——每日最新資訊28at.com

這也是一種相互合作,相互成就吧!感謝 Astro 能夠促進 Node.js 內置測試模塊的發展!wf828資訊網——每日最新資訊28at.com

參考 https://astro.build/blog/node-test-migration/wf828資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-80336-0.htmlAstro 宣布:將超過 500 多個測試從 Mocha 遷移到了 Node.js

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 滴滴送花 3 月暴增 19 倍 烏魯木齊市民最愛快送鮮花

下一篇: 深入探索堆:Go語言中的高效數據結構

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 健康| 彭州市| 师宗县| 杭州市| 醴陵市| 曲水县| 东山县| 丰台区| 祁东县| 崇文区| 英德市| 宜兰县| 洞口县| 郓城县| 崇信县| 荣成市| 乐东| 繁峙县| 郯城县| 杨浦区| 开阳县| 南郑县| 南开区| 方城县| 辽阳市| 南安市| 延津县| 奉贤区| 革吉县| 易门县| 玉山县| 准格尔旗| 阳泉市| 石柱| 上虞市| 冀州市| 常德市| 湖州市| 潜山县| 开阳县| 申扎县|