單元測試的藝術 - 以 C# 為範例『第二版』 单元测试的艺术(第2版)

奧西洛夫 (Roy Osherove)

買這商品的人也買了...

商品描述

<內容介紹>

奧西洛夫著的《單元測試的藝術(第2版)》是經典的單元測試學習指南,分四部分全面介紹了單元測試技術。第一部分闡述單元測試基本概念,包括如何使用測試框架。第二部分討論破除依賴的高級技術:模擬對象、存根和隔離框架,包括重構代碼以使用這些技術的模式。第三部分介紹測試代碼的組織方式、運行測試和重構測試結構的模式,以及編寫測試的最佳實踐。第四部分介紹如何在組織內實施變革和修改現有代碼。
    《單元測試的藝術(第2版)》適合所有語言的測試和開發人員,特別是測試主管和項目經理。

<章節目錄>
第一部分  入門
第1章  單元測試基礎
  1.1  逐步定義單元測試
    1.1.1  編寫優秀單元測試的重要性
    1.1.2  我們都寫過(某種)單元測試
  1.2  優秀單元測試的特性
  1.3  集成測試
  1.4  什麼是優秀的單元測試
  1.5  一個簡單的單元測試範例
  1.6  測試驅動開發
  1.7  成功進行TDD的三種核心技能
  1.8  小結
第2章  第一個單元測試
  2.1  單元測試框架
    2.1.1  單元測試框架提供什麼
    2.1.2  xUnit框架
  2.2  LogAn項目介紹
  2.3  NUnit初步
    2.3.1  安裝NUnit
    2.3.2  加載解決方案
    2.3.3  在代碼中使用NUnit屬性
  2.4  編寫第一個測試
    2.4.1  Assert類
    2.4.2  用NUnit運行第一個測試
    2.4.3  添加正檢驗
    2.4.4  從紅到綠:測試成功
    2.4.5  測試代碼格式
  2.5  使用參數重構測試
  2.6  更多NUnit屬性
    2.6.1  setup和teardown
    2.6.2  檢驗預期的異常
    2.6.3  忽略測試
    2.6.4  NUnit的方法語法
    2.6.5  設置測試類別
  2.7  測試系統狀態的改變而非返回值
  2.8  小結
第二部分  核心技術
第3章  使用存根破除依賴
  3.1  存根簡介
  3.2  發現LogAn中對文件系統的依賴
  3.3  如何使測試LogAnalyzer變得容易
  3.4  重構代碼設計以提高可測試性
    3.4.1  抽取接口使底層實現可替換
    3.4.2  依賴註入:在被測試單元中註入一個偽實現
    3.4.3  在構造函數層註入一個偽對象(構造函數註入)
    3.4.4  用偽對象模擬異常
    3.4.5  用屬性get或set註入偽對象
    3.4.6  在方法調用前註入偽對象
  3.5  重構技術變種
  3.6  剋服封裝問題

    3.6.1  使用internal和[InternalsVisibleTo]
    3.6.2  使用[Conditional]屬性
    3.6.3  使用#if和#endif進行條件編譯
  3.7  小結
第4章  使用模擬對象進行交互測試
  ……
第5章  隔離(模擬)框架
第6章  深入瞭解隔離框架
第三部分  測試代碼
第7章  測試層次和組織
第8章  優秀單元測試的支柱
第四部分  設計和流程
第9章  在組織中引入單元測試
第10章  遺留代碼
第11章  設計與可測試性
附錄A  工具和框架