< >
「本書是我們的測試經典。JavaScript社群何其幸運,因為這本書改用我們喜愛的語言。」—Yoni Goldberg,Node.js 測試顧問,Node.js Best Practices 的作者「這是一本測試名著!」—Jaume Lopez,Institut Guttmann「這本書教你測試哲學,以及單元測試的實作細節。」—Matteo GildoneSpringer Nature「本書對於測試的對象、時機,以及如何做好測試提出適當的見解。」—Rich Yonts,Teradata單元測試的藝術並非只有掌握正確的工具和實踐方法而已,也包含瞭解優秀測試的運作原理、為每一個獨特的情況找出正確的策略,以及在測試過程一團亂時知道該怎麼做。本書提供的觀點和建議將改變你測試軟體的方式。《單元測試的藝術》第三版將教你寫出容易閱讀與維護的測試,不僅介紹測試的基本寫法,也深入探討範圍擴及整個組織的測試策略、問題排除、處理遺留碼(legacy code)和「冷酷」重構。你會愛上這些實際的範例和熟悉的情境,它們將讓你在閱讀的過程中彷彿親臨測試現場。這本第三版增加適用於物件導向、泛函設計,和模組化風格的技術。書中的範例使用 JavaScript。本書主題包括:•決定測試類型和策略 •測試的進入點&退出點•重構遺留碼 •fake、stub、mock 物件,與分隔框架•物件導向、泛函,與模組化測試風格書中的範例使用 JavaScript、TypeScript 與 Node.js。
Roy Osherove 是國際公認的單元測試和敏捷軟體方法專家。 Vladimir Khorikov 是 Manning 《Unit Testing Principles, Practices, and Patterns》和《Plural-sight》的作者,也是 Microsoft MVP。
【第一部分 邁出第一步】chapter1 單元測試基礎1.1 第一步1.2 定義單元測試(一步一步來)1.3 進入點和退出點1.4 退出點類型1.5 不同的退出點,不同的技術1.6 從零開始編寫測試1.7 優良單元測試的特點1.8 整合測試1.9 我們的最終定義1.10 測試驅動開發chapter2 第一個單元測試2.1 介紹Jest 2.2 程式庫、斷言、執行器和報告器2.3 單元測試框架提供的功能2.4 介紹PasswordVerifier專案2.5 verifyPassword的第一個Jest測試 2.6 嘗試使用beforeEach()方法 2.7 嘗試工廠方法2.8 圓滿test()2.9 重構成參數化的測試程式2.10 檢查預期會被丟出來的錯誤2.11 設定測試分類【第二部分 核心技術】chapter3 使用stub來切斷依賴關係3.1 依賴項目的類型3.2 使用stub的理由3.3 被廣泛接受的stubbing設計方法3.4 泛函注入技術3.5 模組化注入技術3.6 使用具備建構函式的物件3.7 物件導向注入技術chapter4 使用mock物件來進行互動測試4.1 互動測試、mock和stub4.2 依賴logger4.3 標準風格:參數重構4.4 區分mock和stub的重要性4.5 模組化風格的mock4.6 泛函風格的mock4.7 物件導向風格的mock4.8 處理複雜的介面4.9 部分mockchapter5 分隔框架5.1 定義分隔框架5.2 動態偽造模組5.3 泛函動態mock和stub5.4 物件導向的動態mock和stub5.5 動態地stubbing行為5.6 分隔框架的優勢和陷阱chapter6 非同步程式的單元測試6.1 處理非同步資料抓取6.2 讓程式更適合進行單元測試6.3 處理定時器6.4 處理常見事件6.5 引入DOM測試庫【第三部分測試程式碼】chapter7 可信的測試7.1 如何知道你信任一個測試7.2 測試為何會失敗7.3 避免在單元測試中加入邏輯7.4 在通過的測試中,聞到虛假的信任感7.5 處理不穩定的測試chapter8 易維護性8.1 因測試失敗而被迫進行的更改8.2 讓維護工作更輕鬆的重構8.3 避免過度規範【第四部分設計和流程】chapter9 易讀性9.1 單元測試的命名9.2 魔法值和變數命名9.3 將斷言與操作分開9.4 設置和卸除chapter10 制定測試策略10.1 常見的測試類型和階層10.2 測試階層的反模式10.3 測試配方策略10.4 管理交付管道chapter11 制定測試策略11.1 成為改革代理人的步驟11.2 成功之道11.3 失敗之道11.4 影響因素11.5 棘手問題和答案chapter12 與遺留碼共舞12.1 從哪裡開始加入測試?12.2 決定一個選擇策略12.3 在重構之前編寫整合測試附錄 對函式和模組進行monkey-patch索引
前端開發測試入門|現在知道也還不遲的自動化測試策略必備知識 全棧測試|交付高品質軟體的實務指南 重構的時機與實作|五行程式碼規則
購買紙本書