注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì).NET.NET單元測試藝術(shù)

.NET單元測試藝術(shù)

.NET單元測試藝術(shù)

定 價(jià):¥49.00

作 者: (以色列)奧西洛夫 著,張昌貴,張博超,李丁山 譯,滕振宇 審校
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: .NET

ISBN: 9787302269168 出版時(shí)間: 2012-01-01 包裝: 平裝
開本: 16開 頁數(shù): 297 字?jǐn)?shù):  

內(nèi)容簡介

  《NET單元測試藝術(shù)》針對(duì)這個(gè)重要主題展開討論,引導(dǎo)讀者從簡單的測試開始,逐漸過渡到如何寫出可維護(hù)、可讀、可信賴的測試。同時(shí),還涉及mock,stub和框架(如Typemock Isolator和Rhino Mocks)等高級(jí)主題,旨在幫助讀者逐步掌握高級(jí)的測試模式和結(jié)構(gòu),高效地為遺留代碼和甚至根本不可測試的代碼編寫測試。書中還討論了測試數(shù)據(jù)庫時(shí)需要的工具和其他技術(shù)?!?NET單元測試藝術(shù)》為廣大.NET開發(fā)人員而寫,但其他讀者也可以從中受益。

作者簡介

暫缺《.NET單元測試藝術(shù)》作者簡介

圖書目錄

《.net單元測試藝術(shù)》
第i部分 入 門
第1章 單元測試的基本知識(shí) 
1.1 單元測試——傳統(tǒng)定義 
1.1.1 編寫“優(yōu)秀單元測試”的重要性 
1.1.2 我們都寫過單元測試(或多或少) 
1.2 優(yōu)秀單元測試的特性 
1.3 集成測試 
1.4 優(yōu)秀的單元測試——定義 
1.5 一個(gè)簡單的單元測試實(shí)例 
1.6 測試驅(qū)動(dòng)開發(fā) 
1.7 小結(jié) 
第2章 第一個(gè)單元測試 
2.1 單元測試框架 
2.1.1 單元測試框架的優(yōu)勢提供了什么 
2.1.2 xunit測試框架 
2.2 logan項(xiàng)目的介紹 
2.3 使用nunit的第一步 
2.3.1 安裝nunit 
2.3.2 加載解決方案 
.2.3.3 在代碼中使用nunit特性 
2.4 編寫第一個(gè)測試 
2.4.1 assert類 
2.4.2 用nunit運(yùn)行我們的第一個(gè)測試 
2.4.3 修正代碼讓測試通過 
2.4.4 從紅色到綠色 
2.5 更多nunit特性 
2.5.1 setup和teardown 
2.5.2 驗(yàn)證預(yù)期的異常 
2.5.3 忽略測試 
2.5.4 設(shè)置測試類別 
2.6 針對(duì)狀態(tài)的間接測試 
2.7 小結(jié) 
第ii部分 核 心 技 術(shù)
第3章 使用樁對(duì)象解除依賴 
3.1 樁對(duì)象 
3.2 發(fā)現(xiàn)logan對(duì)文件系統(tǒng)的依賴 
3.3 確認(rèn)簡化loganalyzer測試的方法 
3.4 重構(gòu)設(shè)計(jì)增強(qiáng)了可測性 
3.4.1 抽取接口,以允許替換底層實(shí)現(xiàn) 
3.4.2 在被測類中注入樁對(duì)象 
3.4.3 在構(gòu)造函數(shù)級(jí)別上接收一個(gè)接口(構(gòu)造函數(shù)注入) 
3.4.4 接收一個(gè)接口作為屬性的get或set的類型 
3.4.5 在調(diào)用方法之前獲取一個(gè)樁對(duì)象 
3.5 重構(gòu)技術(shù)的變種 
3.6 解決封裝問題 
3.6.1 使用internal和[internalvisibleto] 
3.6.2 利用[conditional]屬性標(biāo)簽 
3.6.3 使用#if和#endif的條件編譯 
3.7 小結(jié) 
第4章 用模擬對(duì)象做交互測試 
4.1 基于狀態(tài)的測試和交互測試 
4.2 模擬對(duì)象和樁對(duì)象之間的區(qū)別 
4.3 簡單的手寫模擬對(duì)象例子 
4.4 同時(shí)使用模擬對(duì)象和樁對(duì)象 
4.5 一個(gè)測試一個(gè)模擬對(duì)象 
4.6 樁鏈:產(chǎn)生模擬對(duì)象或其他樁的一批樁對(duì)象 
4.7 手寫模擬對(duì)象和樁對(duì)象的問題 
4.8 小結(jié) 
第5章 隔離(模擬對(duì)象)框架 
5.1 為什么使用隔離框架 
5.2 動(dòng)態(tài)創(chuàng)建偽對(duì)象 
5.2.1 在測試中引入rhino mocks 
5.2.2 使用動(dòng)態(tài)模擬對(duì)象替換手寫模擬對(duì)象 
5.3 嚴(yán)格模擬對(duì)象與非嚴(yán)格模擬對(duì)象 
5.3.1 嚴(yán)格模擬對(duì)象 
5.3.2 非嚴(yán)格模擬對(duì)象 
5.4 從偽對(duì)象返回值 
5.5 用隔離框架創(chuàng)建智能樁對(duì)象 
5.5.1 在rhino mocks框架中創(chuàng)建樁對(duì)象 
5.5.2 結(jié)合使用動(dòng)態(tài)樁對(duì)象和模擬對(duì)象 
5.6 模擬對(duì)象和樁對(duì)象的參數(shù)約束 
5.6.1 用字符串約束檢查參數(shù) 
5.6.2 使用約束檢驗(yàn)參數(shù)對(duì)象的屬性 
5.6.3 執(zhí)行回調(diào)檢驗(yàn)參數(shù) 
5.7 測試與事件相關(guān)的活動(dòng) 
5.7.1 測試一個(gè)事件已被訂閱 
5.7.2 在模擬對(duì)象和樁對(duì)象中觸發(fā)事件 
5.7.3 測試一個(gè)事件是否被觸發(fā) 
5.8 隔離框架中的設(shè)置-操作-斷言語法 
5.9 .net中現(xiàn)有的隔離框架 
5.9.1 nunit.mocks 
5.9.2 nmock 
5.9.3 nmock2 
5.9.4 typemock isolator 
5.9.5 rhino mocks 
5.9.6 moq框架 
5.10 隔離框架的優(yōu)勢 
5.11 避免使用隔離框架時(shí)的陷阱 
5.11.1 測試代碼缺乏可讀性 
5.11.2 對(duì)錯(cuò)誤的事情做驗(yàn)證 
5.11.3 一個(gè)測試包含多個(gè)模擬對(duì)象 
5.11.4 測試的細(xì)節(jié)太多 
5.12 小結(jié) 
第iii部分 測試的代碼
第6章 測試層次及組織 
6.1 讓自動(dòng)化構(gòu)建運(yùn)行自動(dòng)化測試 
6.1.1 自動(dòng)構(gòu)建剖析 
6.1.2 觸發(fā)構(gòu)建和持續(xù)集成 
6.1.3 自動(dòng)化構(gòu)建類型 
6.2 根據(jù)速度和類型組織測試 
6.2.1 分離單元測試與集成測試的人為因素 
6.2.2 綠色安全區(qū)域 
6.3 確保測試在代碼庫中 
6.4 在測試類和被測代碼之間建立映射 
6.4.1 映射測試到項(xiàng)目 
6.4.2 映射測試到類 
6.4.3 映射測試到方法 
6.5 為應(yīng)用程序打造測試api 
6.5.1 使用測試類的繼承模式 
6.5.2 新建測試工具類和方法 
6.5.3 讓程序員知道你的api 
6.6 小結(jié) 
第7章 優(yōu)秀單元測試的支柱 
7.1 編寫可信賴的測試 
7.1.1 決定何時(shí)刪除或更改測試 
7.1.2 避免測試的邏輯 
7.1.3 只測試一件事情 
7.1.4 讓測試容易運(yùn)行 
7.1.5 確保測試覆蓋率 
7.2 編寫可維護(hù)的測試 
7.2.1 測試私有的或者受保護(hù)的方法 
7.2.2 去除重復(fù)代碼 
7.2.3 讓setup方法可維護(hù) 
7.2.4 實(shí)施測試隔離 
7.2.5 避免多個(gè)斷言 
7.2.6 避免測試同一個(gè)對(duì)象的多個(gè)方面 
7.2.7 避免在測試?yán)镞^度關(guān)注細(xì)節(jié) 
7.3 編寫可讀的測試 
7.3.1 為單元測試命名 
7.3.2 為變量命名 
7.3.3 讓斷言有意義 
7.3.4 將斷言和動(dòng)作分離 
7.3.5 setup和teardown 
7.4 小結(jié) 
第iv部分 設(shè)計(jì)與流程
第8章 在組織中引入單元測試 
8.1 怎樣成為變革推動(dòng)者 
8.1.1 備戰(zhàn)棘手問題 
8.1.2 說服內(nèi)部人士:擁護(hù)者與阻礙者 
8.1.3 洞察切入機(jī)會(huì) 
8.2 成功之路 
8.2.1 游擊策略(自下而上) 
8.2.2 說服管理層(自上而下) 
8.2.3 從外面找一個(gè)專家 
8.2.4 讓過程可見 
8.2.5 鎖定目標(biāo) 
8.2.6 意識(shí)到即將面對(duì)的阻礙 
8.3 失敗之路 
8.3.1 缺乏驅(qū)動(dòng)力 
8.3.2 缺乏政治上的支持 
8.3.3 不好的實(shí)施和第一印象 
8.3.4 缺乏團(tuán)隊(duì)支持 
8.4 棘手的問題及其答案 
8.4.1 在現(xiàn)有的流程上會(huì)增加多少時(shí)間 
8.4.2 測試人員的工作會(huì)因此受到威脅嗎 
8.4.3 怎么知道這確實(shí)可行呢 
8.4.4 有什么可以證明單元測試的好處 
8.4.5 為什么測試部門還是能找到缺陷 
8.4.6 我們有很多沒有測試的代碼:該從哪里開始呢 
8.4.7 使用多種語言開發(fā):單元測試適用嗎 
8.4.8 如果是軟硬件結(jié)合的開發(fā),該怎么辦 
8.4.9 怎么知道測試本身是否有缺陷 
8.4.10 我的調(diào)試器顯示代碼可以正常工作:為什么還需要測試 
8.4.11 必須用tdd的方式來編碼嗎 
8.5 小結(jié) 
第9章 修改遺留代碼 
9.1 從哪里開始添加測試? 
9.2 確定抉擇策略 
9.2.1 容易優(yōu)先策略的優(yōu)缺點(diǎn) 
9.2.2 困難優(yōu)先策略的優(yōu)缺點(diǎn) 
9.3 在重構(gòu)前寫集成測試 
9.4 重要的遺留代碼單元測試工具 
9.4.1 使用typemock isolator輕松隔離依賴項(xiàng) 
9.4.2 使用depender找出可測性問題 
9.4.3 在java遺留代碼里使用jmockit 
9.4.4 重構(gòu)java代碼時(shí)使用vise 
9.4.5 使用fitnesse在重構(gòu)前做驗(yàn)收測試 
9.4.6 閱讀michael feathers的關(guān)于遺留代碼的書 
9.4.7 使用ndepend來審查生產(chǎn)代碼 
9.4.8 使用resharper瀏覽和重構(gòu)生產(chǎn)代碼 
9.4.9 使用simian來檢測重復(fù)代碼(和缺陷) 
9.4.10 使用typemock racer來檢測線程問題 
9.5 小結(jié) 
附錄a 設(shè)計(jì)與可測試性 
附錄b 工具和框架

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)