以 Jest 和 Enzyme 做 React 測試

使用測試驅動開發改進你的 React、Redux、Hooks 和 Context 程式碼

從這 15 小時的課程,你會學到

  • 使用 Jest 和 Enzyme 編寫 React 和 Redux 的單元和整合測試。
  • 了解不同測試方法的權衡點以及何時選擇哪種方法。
  • 通過測試驅動開發更有效地規劃你的 React 應用程式。
  • 模擬方法和模組,使你的測試保持隔離。

要求

  • 熟悉 JavaScript 和 React

課程說明

在決定購買本課程之前,請先閱讀第一講(課程描述最後有重現)。

簡而言之,Enzyme 不再受到積極支持。除非您特別想學習 Enzyme(因為您正在開發使用 Enzyme 測試的舊版 React 專案),否則我建議您改為學習 React 測試程式庫( React Testing Library course )課程。

學習使用 Jest 和 Enzyme 進行測試驅動開發 (TDD),將你的 React 程式碼提升到新的水平! Jest 是一個強大且靈活的測試框架,而 Enzyme 則提供了測試 React 和 Redux 應用程式的工具。在本課程中,你將學習測驗:

  • React Hooks,包括 useEffect、useState 和 useReducer
  • 使用 Axios 的非同步函式
  • Redux 動作建立器和還原器
  • 使用 Redux Thunk 的複雜 Redux 動作建立器
  • React context,包括具有嵌入式狀態的 context

你還將學習如何充分利用 Jest 的功能,包括

  • Mock 和恢復模組的個別屬性
  • Mock 整個模組
  • 控制哪些測試使用.skip和.only執行
  • 使用.each在不同的資料下多次執行測試套件

請注意:本課程不包括 Jest snapshots,因為它們與測試的TDD模式不相容。

為什麼要學習測試?

測試驅動開發將幫助你編寫更易於維護的、更好的、有組織程式碼,這將為你節省時間。 你的測試為你的軟體開發團隊提供了價值,因為其他人知道他們可以信任你所出品的程式碼。 雇主期望聘請的開發人員具備測試技能!

了解語法背後的原因

本課程討論在考慮不同測試方法時的權衡點,讓你對所做的測試選擇充滿信心。 此外,當我們深入了解每一方面如何和為什麼測試時,你將加深對 React 和 Redux 的理解。

練習你的新技能

你也將有機會練習你所學到的東西。 在我們建構課程專案時,偶爾會有“測驗”,你可以在其中應用所學內容,然後觀看視訊以查看解決方案。 你還會接受兩套擴展課程專案的挑戰,其解決資訊都放在 GitHub 上供你參考。

為什麼我目前推薦 React 測試程式庫

React Testing Library 和 Enzyme 做同樣的工作:渲染組件,以便它們可以用 Jest 進行測試。 我推薦 React Testing Library 而不是 Enzyme,原因如下:

  • 與 Enzyme 不同,React 測試庫不依賴於 React 內部結構。 這意味著 React 測試庫沒有需要隨 React 的每個版本更新的適配器,並且在新的 React 版本中出現問題的可能性要小得多。
  • 我發現 React Testing Library 比 Enzyme 更容易使用。

這對本課程意味著什麼

現在 React 18 已經出來了,看不到 React 17 適配器,我不相信 Enzyme 有未來。 對於希望學習如何測試新的 React 應用程式的人,我不會推薦這門課程。 相反,我建議你找一門關於 React Testing Library 的課程。

也就是說,每週仍有約 240 萬次 Enzyme 下載(截至 2022 年 4 月)。 以下是我推薦學習 Enzyme 的情況:

  • 你正在處理一個已經有大量 Enzyme 測試的遺留專案,並且該專案從未打算升級到 React 18。
  • 你正在處理一個包含大量現有 Enzyme 測試的專案,並且你希望在遷移到 React 測試程式庫 (React Testing Library,RTL) 之前了解這些測試。 然而,React 17 非官方 Enzyme 適配器的作者 Wojciech Maj 建議: “雖然從 Enzyme 支持文章可讓你做遷移,但我建議你重新開始,忘記 Enzyme 曾經存在過。 RTL 絕不是 Enzyme 的直接替代品,因此擁有全新的思維方式將幫助你充分利用它。”

底線

當這門課程問世時,Enzyme 是測試 React 應用程式的好方法; 但是,我不能再推薦它了。 我鼓勵你改為學習 React 測試程式庫( RTL )

目標受眾

  • 有興趣通過測試來改進 React 應用程式的程式設計師

講師簡介

Bonnie Schulkin  教師 | 程式設計師 | 平庸的貝斯手

我的教學生涯始於當我小時候與我(不太願意)弟弟上學的時候。 我逐漸將自己的視野擴展到比較願意學習的高中學生,並且最近在各種新手訓練營教授軟體開發給高興學習的成年人。 自 90 年代中期以來,我一直在軟體行業工作,這在舊金山科技界許多程式設計師的誕生之前就已經開始。

字幕:英文

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

  • Udemy 永久擁有課程 許多課程約 NT400(點擊連結看更多)
  • 年訂閱每月 NT350(再享特別優惠:年度訂閱首年享 25% 折扣) 🌈 悠遊 Udemy 的 26000+ 門課,最大化學習 ( 原價 NT635/月 )
  • Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
  • 手機上點選優惠連結看到的價格比電腦上看到的貴
  • $代表當地貨幣, 如在台灣為 NT
  • 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現

報名參加課程

Sponsored by Udemy


也許你會有興趣

不受 FB 演算法影響,歡迎透過 e-mail 訂閱網站更新

幫我們個小忙!

← 返回

感謝你的回應。 ✨

請為我們的網站評分(必)

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

由 WordPress.com 建置.

Up ↑

探索更多來自 Soft & Share 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading