JUnit實(shí)戰(zhàn)

出版時(shí)間:2012-4  出版社:人民郵電出版社  作者:塔凱文  頁(yè)數(shù):442  譯者:王魁  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

  本書從認(rèn)識(shí)JUnit、不同的測(cè)試策略、JUnit與構(gòu)建過(guò)程、JUnit擴(kuò)展4個(gè)方面,由淺入深、由易到難地對(duì)JUnit展開了系統(tǒng)的講解,包括探索JUnit的核心、軟件測(cè)試原則、測(cè)試覆蓋率與開發(fā)、使用stub進(jìn)行粗粒度測(cè)試、使用mock
objects進(jìn)行測(cè)試、容器內(nèi)測(cè)試、從Ant中運(yùn)行JUnit測(cè)試、從Maven2中運(yùn)行JUnit測(cè)試、持續(xù)集成工具、表示層的測(cè)試、Ajax測(cè)試、使用Cactus進(jìn)行服務(wù)器端的Java測(cè)試、測(cè)試JSF應(yīng)用程序、測(cè)試OSGi組件、測(cè)試數(shù)據(jù)庫(kù)訪問(wèn)、測(cè)試基于JPA的應(yīng)用程序、JUnit的其他用法等內(nèi)容。
  本書不僅僅介紹了使用JUnit框架測(cè)試項(xiàng)目必須掌握的核心概念,還指導(dǎo)讀者如何使用JUnit框架編寫自己的測(cè)試用例,并針對(duì)在編寫代碼的過(guò)程中如何使得代碼可測(cè)試給出建議。本書還介紹了基礎(chǔ)的軟件開發(fā)原則,如測(cè)試驅(qū)動(dòng)開發(fā)(TDD)等,以便指導(dǎo)用戶如何使用不同的工具來(lái)測(cè)試典型Java
EE應(yīng)用程序的每一層。此外,本書也提供了幾個(gè)附錄,以幫助讀者快速轉(zhuǎn)換到最新版本的JUnit,并且能夠輕松地集成自己喜歡的IDE。
  本書適合于已具有一定Java編程基礎(chǔ)的讀者,以及在Java平臺(tái)下進(jìn)行各類軟件開發(fā)的開發(fā)人員、測(cè)試人員。對(duì)于單元測(cè)試學(xué)習(xí)者和編程愛好者來(lái)說(shuō),本書則具有極高的學(xué)習(xí)參考價(jià)值。

作者簡(jiǎn)介

作者:(美國(guó))塔凱文(Tahchiev.P.) 譯者:王魁

書籍目錄

第1部分 認(rèn)識(shí)JUnit
第1章 JUnit起步 
1.1 證實(shí)它能運(yùn)行 
1.2 從零開始 
1.3 理解單元測(cè)試框架 
1.4 JUnit的設(shè)計(jì)目標(biāo) 
1.5 安裝JUnit 
1.6 使用JUnit測(cè)試 
1.7 小結(jié) 
第2章 探索JUnit的核心 
2.1 探索JUnit核心 
2.2 運(yùn)行參數(shù)化測(cè)試 
2.3 JUnit的測(cè)試運(yùn)行器 
2.3.1 測(cè)試運(yùn)行器簡(jiǎn)介 
2.3.2 JUnitCore fa?ade 
2.3.3 自定義測(cè)試運(yùn)行器 
2.4 用Suite來(lái)組合測(cè)試 
2.4.1 組合一組測(cè)試類 
2.4.2 組合一組測(cè)試集 
2.4.3 Suite、IDE、Ant與Maven 
2.5 小結(jié) 
第3章 掌握J(rèn)Unit 
3.1 引入controller組件 
3.1.1 設(shè)計(jì)接口 
3.1.2 實(shí)現(xiàn)基類 
3.2 讓我們來(lái)測(cè)試它 
3.2.1 測(cè)試DefaultController 
3.2.2 添加一個(gè)處理器 
3.2.3 請(qǐng)求處理 
3.2.4 改進(jìn)testProcessRequest 
3.3 測(cè)試異常處理 
3.3.1 模擬異常條件 
3.3.2 測(cè)試異?!?br />3.4 超時(shí)測(cè)試 
3.5 引入Hamcrest匹配器 
3.6 創(chuàng)建測(cè)試項(xiàng)目 
3.7 小結(jié) 
第4章 軟件測(cè)試原則 
4.1 單元測(cè)試的必要性 
4.1.1 帶來(lái)更高的測(cè)試覆蓋率 
4.1.2 提高團(tuán)隊(duì)效率 
4.1.3 監(jiān)測(cè)衰退和減少調(diào)試 
4.1.4 自信地重構(gòu) 
4.1.5 改進(jìn)實(shí)現(xiàn) 
4.1.6 將預(yù)期的行為文檔化 
4.1.7 啟用代碼覆蓋率以及其他指標(biāo) 
4.2 測(cè)試類型 
4.2.1 軟件測(cè)試的4種類型 
4.2.2 單元測(cè)試的3種類型 
4.3 黑盒測(cè)試與白盒測(cè)試 
4.4 小結(jié) 
第2部分 不同的測(cè)試策略
第5章 測(cè)試覆蓋率與開發(fā) 
5.1 測(cè)量測(cè)試覆蓋率 
5.1.1 測(cè)試覆蓋率簡(jiǎn)介 
5.1.2 Cobertura簡(jiǎn)介 
5.1.3 生成測(cè)試覆蓋率報(bào)告 
5.1.4 結(jié)合黑盒與白盒測(cè)試 
5.2 編寫可測(cè)試的代碼 
5.2.1 公共API是協(xié)議 
5.2.2 減少依賴關(guān)系 
5.2.3 創(chuàng)建簡(jiǎn)單的構(gòu)造函數(shù) 
5.2.4 遵循最少知識(shí)原則 
5.2.5 避免隱藏的依賴關(guān)系與全局狀態(tài) 
5.2.6 單態(tài)模式的優(yōu)點(diǎn)和缺點(diǎn) 
5.2.7 優(yōu)先使用通用方法 
5.2.8 組合優(yōu)先于繼承 
5.2.9 多態(tài)優(yōu)先于條件語(yǔ)句 
5.3  測(cè)試驅(qū)動(dòng)開發(fā) 
5.3.1  調(diào)整開發(fā)周期 
5.3.2 TDD的兩個(gè)步驟 
5.4  在開發(fā)周期中的測(cè)試 
5.5  小結(jié) 
第6章 使用stub進(jìn)行粗粒度測(cè)試 
6.1 stub簡(jiǎn)介 
6.2 使用stub測(cè)試一個(gè)HTTP連接 
6.2.1 選擇使用stub的方案 
6.2.2 使用Jetty作為嵌入式服務(wù)器 
6.3 使用stub替換Web服務(wù)器資源 
6.3.1 建立第一個(gè)stub測(cè)試 
6.3.2 針對(duì)故障情況進(jìn)行測(cè)試 
6.3.3 回顧第一個(gè)stub測(cè)試 
6.4 替換連接 
6.4.1 創(chuàng)建自定義的URL協(xié)議處理器 
6.4.2 創(chuàng)建一個(gè)JDK的HttpURLConnection stub 
6.4.3 運(yùn)行測(cè)試 
6.5 小結(jié) 
第7章 使用mock objects進(jìn)行測(cè)試 
7.1  mock objects簡(jiǎn)介 
7.2 使用mock objects進(jìn)行單元測(cè)試 
7.3 使用mock objects來(lái)重構(gòu) 
7.3.1 重構(gòu)示例 
7.4 替換一個(gè)HTTP連接 
7.4.1 定義mock objects 
7.4.2 測(cè)試一個(gè)簡(jiǎn)單的方法 
7.4.3 第一次嘗試:簡(jiǎn)單的方法重構(gòu)技巧 
7.4.4 第二個(gè)嘗試:使用類工廠來(lái)重構(gòu) 
7.5 把mocks用作特洛伊木馬 
7.6 介紹mock框架 
7.6.1 使用EasyMock 
7.6.2 使用JMock 
7.7 小結(jié) 
第8章 容器內(nèi)測(cè)試 
8.1 標(biāo)準(zhǔn)單元測(cè)試的局限性 
8.2 mock objects解決方案 
8.3 容器內(nèi)測(cè)試 
8.3.1 實(shí)現(xiàn)策略 
8.3.2 容器內(nèi)測(cè)試框架 
8.4 比較stub、mock objects和容器內(nèi)測(cè)試 
8.4.1 stub的優(yōu)點(diǎn)與缺點(diǎn) 
8.4.2 mock objects的優(yōu)點(diǎn)和缺點(diǎn) 
8.4.3 容器內(nèi)測(cè)試的優(yōu)點(diǎn)與缺點(diǎn) 
8.4.4 容器內(nèi)測(cè)試與容器外測(cè)試 
8.5 小結(jié) 
第3部分 JUnit與構(gòu)建過(guò)程
第9章 從Ant中運(yùn)行JUnit測(cè)試 
9.1 生命中的一天 
9.2 從Ant中運(yùn)行測(cè)試 
9.3 認(rèn)識(shí)并安裝Ant 
9.4 Ant的目標(biāo)、項(xiàng)目、屬性以及任務(wù) 
9.4.1 javac任務(wù) 
9.4.2 JUnit任務(wù) 
9.5 讓Ant來(lái)執(zhí)行任務(wù) 
9.6 使用Ivy進(jìn)行依賴管理 
9.7 創(chuàng)建HTML報(bào)告 
9.8 批處理測(cè)試 
9.9 小結(jié) 
第10章 從Maven2中運(yùn)行JUnit測(cè)試 
10.1 Maven的功能 
10.1.1 約定優(yōu)于配置 
10.1.2 強(qiáng)大的依賴管理 
10.1.3 Maven的構(gòu)建生命周期 
10.1.4 基于插件的架構(gòu) 
10.1.5 Maven項(xiàng)目對(duì)象模型 
10.2 建立一個(gè)Maven項(xiàng)目 
10.3 Maven插件的引入 
10.3.1 Maven的Compiler插件 
10.3.2 Maven的Surefire插件 
10.3.3 使用Maven生成HTML格式的JUnit報(bào)告 
10.4 Maven的不足 
10.5 小結(jié) 
第11章 持續(xù)集成工具 
11.1 嘗試持續(xù)集成 
11.1.1 持續(xù)集成測(cè)試 
11.2 拯救用戶的CruiseControl 
11.2.1 開始使用CruiseControl 
11.2.2 創(chuàng)建一個(gè)示例項(xiàng)目 
11.2.3 解析CruiseControl配置文件 
11.3 另一個(gè)持續(xù)集成工具--Hudson 
11.3.1 Hudson簡(jiǎn)介 
11.3.2 安裝 
11.3.3 配置Hudson 
11.3.4 配置Hudson中的項(xiàng)目 
11.4 持續(xù)集成的優(yōu)勢(shì) 
11.5 小結(jié) 
第4部分 JUnit擴(kuò)展
第12章 表示層的測(cè)試 
12.1 選擇測(cè)試框架 
12.2 HtmlUnit簡(jiǎn)介 
12.2.1 一個(gè)實(shí)例 
12.3 編寫HtmlUnit測(cè)試 
12.3.1 HTML斷言 
12.3.2 對(duì)特定的Web瀏覽器進(jìn)行測(cè)試 
12.3.3 測(cè)試多個(gè)Web瀏覽器 
12.3.4 創(chuàng)建獨(dú)立的測(cè)試 
12.3.5 導(dǎo)航對(duì)象模型 
12.3.6 通過(guò)特定的元素類型訪問(wèn)元素 
12.3.7 通過(guò)名字與索引訪問(wèn)元素 
12.3.8 通過(guò)引用訪問(wèn)元素 
12.3.9 使用XPath 
12.3.10 測(cè)試失敗和異?!?br />12.3.11 應(yīng)用程序與網(wǎng)絡(luò)導(dǎo)航 
12.3.12 使用HtmlUnit測(cè)試表單 
12.3.13 測(cè)試框架(frame) 
12.3.14 測(cè)試JavaScript 
12.3.15 測(cè)試CSS 
12.3.16 SSL錯(cuò)誤 
12.4 集成HtmlUnit和Cactus 
12.4.1 在Cactus中編寫測(cè)試 
12.5 Selenium簡(jiǎn)介 
12.6 生成Selenium測(cè)試 
12.6.1 一個(gè)實(shí)例 
12.7 運(yùn)行Selenium測(cè)試 
12.7.1 管理Selenium服務(wù)器 
12.7.2 使用JUnit 4運(yùn)行Selenium測(cè)試 
12.8 編寫Selenium測(cè)試 
12.8.1 針對(duì)特定的Web瀏覽器進(jìn)行測(cè)試 
12.8.2 測(cè)試多個(gè)瀏覽器 
12.8.3 應(yīng)用程序和網(wǎng)絡(luò)導(dǎo)航 
12.8.4 通過(guò)引用訪問(wèn)元素 
12.8.5 通過(guò)異常使測(cè)試失敗 
12.8.6 使用Selenium測(cè)試表單 
12.8.7 測(cè)試JavaScript告警 
12.8.8 捕獲一個(gè)JUnit 3測(cè)試失敗的截屏 
12.8.9 捕獲一個(gè)JUnit 4測(cè)試失敗的截屏 
12.9 HtmlUnit與Selenium 
12.10 小結(jié) 
第13章 Ajax測(cè)試 
13.1 Ajax應(yīng)用程序難以測(cè)試的原因 
13.1.1 傳統(tǒng)的Web交互 
13.1.2 Ajax交互 
13.1.3 一個(gè)嶄新的世界 
13.1.4 測(cè)試的挑戰(zhàn) 
13.2 Ajax的測(cè)試模式 
13.2.1 功能測(cè)試 
13.2.2 客戶端腳本單元測(cè)試 
13.2.3 服務(wù)測(cè)試 
13.3 功能測(cè)試 
13.3.1 使用Seleniun進(jìn)行功能測(cè)試 
13.3.2 使用HtmlUnit進(jìn)行功能測(cè)試 
13.4 JavaScript測(cè)試 
13.4.1 使用RhinoUnit測(cè)試JavaScript 
13.4.2 使用JsUnit測(cè)試JavaScript 
13.4.3 編寫JsUnit測(cè)試用例 
13.4.4 編寫JsUnit測(cè)試集 
13.4.5 手動(dòng)運(yùn)行JsUnit測(cè)試用例 
13.4.6 使用Ant自動(dòng)運(yùn)行JsUnit測(cè)試用例 
13.5 RhinoUnit與JsUnit 
13.6 使用JSLint檢驗(yàn)最佳實(shí)踐 
13.7 使用HttpClient測(cè)試服務(wù) 
13.7.1 調(diào)用XML服務(wù) 
13.7.2 驗(yàn)證XML響應(yīng) 
13.7.3 驗(yàn)證JSON響應(yīng) 
13.8 測(cè)試Google Web工具箱應(yīng)用程序 
13.8.1 為GWT應(yīng)用程序選擇測(cè)試框架 
13.8.2 手動(dòng)創(chuàng)建GWTTestCase 
13.8.3 使用junitCreator創(chuàng)建GWTTestCase 
13.8.4 運(yùn)行測(cè)試用例 
13.8.5 安裝和拆卸測(cè)試 
13.8.6 創(chuàng)建測(cè)試集 
13.8.7 運(yùn)行測(cè)試集 
13.9 小結(jié) 
第14章 使用Cactus進(jìn)行服務(wù)器端的Java測(cè)試 
14.1 什么是Cactus? 
14.2 使用Cactus進(jìn)行測(cè)試 
14.2.1 你可以使用Cactus測(cè)試的Java組件 
14.2.2 一般原則 
14.2.3 Cactus如何工作 
14.3 測(cè)試servlet和filters 
14.3.1 介紹管理應(yīng)用程序 
14.3.2 使用Cactus編寫servlet測(cè)試 
14.4 測(cè)試JSP 
14.4.1 回顧管理應(yīng)用程序 
14.4.2 什么是JSP單元測(cè)試? 
14.4.3 單獨(dú)使用Cactus對(duì)JSP進(jìn)行單元測(cè)試 
14.4.4 利用SQL結(jié)果數(shù)據(jù)執(zhí)行JSP 
14.5 測(cè)試EJB 
14.6 什么是Cargo? 
14.7 使用Ant執(zhí)行Cactus測(cè)試 
14.7.1 用來(lái)準(zhǔn)備文件的Cactus 
14.8 使用Maven2x執(zhí)行Cactus測(cè)試 
14.8.1 Maven2 cactifywar MOJO 
14.8.2 Maven2 cactifyear MOJO 
14.9 從瀏覽器執(zhí)行Cactus測(cè)試 
14.10 小結(jié) 
第15章 測(cè)試JSF應(yīng)用程序 
15.1 引入JSF 
15.2 介紹示例應(yīng)用程序 
15.3 測(cè)試JSF應(yīng)用程序時(shí)的典型問(wèn)題 
15.4 測(cè)試JSF應(yīng)用程序的策略 
15.4.1 黑盒方法 
15.4.2 Mock object援救 
15.5 使用JSUnit測(cè)試示例應(yīng)用程序 
15.5.1 從瀏覽器執(zhí)行一個(gè)JSFUnit測(cè)試 
15.5.2 使用JSFUnit測(cè)試Ajax 
15.6 使用HtmlUnit與JSFUnit 
15.7 JSF應(yīng)用程序的性能測(cè)試 
15.8 小結(jié) 
第16章 測(cè)試OSGi組件 
16.1 OSGi簡(jiǎn)介 
16.2 第一個(gè)OSGi服務(wù) 
16.2.1 示例應(yīng)用程序 
16.3 測(cè)試OSGi服務(wù) 
16.3.1 Mock objects 
16.4 引入JUnit4OSGi 
16.5 小結(jié) 
第17章 測(cè)試數(shù)據(jù)庫(kù)訪問(wèn) 
17.1 數(shù)據(jù)庫(kù)單元測(cè)試的阻抗不匹配 
17.1.1 單元測(cè)試必須執(zhí)行隔離的代碼 
17.1.2 單元測(cè)試必須易于編寫和運(yùn)行 
17.1.3 單元測(cè)試必須運(yùn)行快速 
17.2 DbUnit介紹 
17.2.1 示例應(yīng)用程序 
17.2.2 設(shè)置DbUnit并運(yùn)行示例應(yīng)用程序 
17.3 使用數(shù)據(jù)集來(lái)填充數(shù)據(jù)庫(kù) 
17.3.1 剖析DatabaseOperation 
17.4 用數(shù)據(jù)集斷言數(shù)據(jù)庫(kù)狀態(tài) 
17.4.1 過(guò)濾數(shù)據(jù)集 
17.4.2 忽略數(shù)據(jù)列 
17.5 使用ReplacementDataSet轉(zhuǎn)換數(shù)據(jù) 
17.5.1 使用ReplacementDataSet處理不同的ID問(wèn)題 
17.5.2 處理NULL值 
17.6 從已有的數(shù)據(jù)庫(kù)數(shù)據(jù)中創(chuàng)建數(shù)據(jù)集 
17.7 高級(jí)技術(shù) 
17.7.1 DbUnit與模板設(shè)計(jì)模式 
17.7.2 通過(guò)自定義注釋提高重用 
17.7.3 在數(shù)據(jù)集中使用表達(dá)式語(yǔ)言 
17.8 數(shù)據(jù)庫(kù)訪問(wèn)測(cè)試的最佳做法 
17.8.1 每個(gè)開發(fā)者使用一個(gè)數(shù)據(jù)庫(kù) 
17.8.2 確保目標(biāo)數(shù)據(jù)庫(kù)被測(cè)試 
17.8.3 為加載和存儲(chǔ)數(shù)據(jù)創(chuàng)建互補(bǔ)測(cè)試 
17.8.4 編寫加載測(cè)試用例時(shí),應(yīng)涵蓋所有基本場(chǎng)景 
17.8.5 計(jì)劃數(shù)據(jù)集的使用 
17.8.6 測(cè)試清理 
17.9 小結(jié) 
第18章 測(cè)試基于JPA的應(yīng)用程序 
18.1 測(cè)試多層應(yīng)用程序 
18.1.1 示例應(yīng)用程序 
18.1.2 多層、多種測(cè)試策略 
18.2 JPA測(cè)試的方方面面 
18.3 準(zhǔn)備基礎(chǔ)設(shè)施 
18.4 測(cè)試JPA實(shí)體映射 
18.4.1 使用JPA ID生成器集成測(cè)試用例 
18.5 測(cè)試基于JPA的DAO 
18.6 測(cè)試外鍵名字 
18.7 小結(jié) 
第19章 JUnit的其他用法 
19.1 介紹 
19.1.1 工具概述 
19.1.2 運(yùn)行示例 
19.2 透明地使用mock 
19.2.1 Unitils的EasyMock支持 
19.2.2 FEST-Mocks 
19.2.3 Mycila 
19.3 DbUnit集成 
19.4 使斷言更簡(jiǎn)單 
19.4.1 JUnit-addons斷言包 
19.4.2 Unitlis的ReflectionAssert 
19.4.3 FEST流暢斷言模塊 
19.4.4 Mylica繼承斷言 
19.5 使用反射繞過(guò)封裝 
19.5.1 內(nèi)部替代物 
19.5.2 JUnit-addons 
19.5.3 FEST-Reflect 
19.6 小結(jié) 
附錄A JUnit 3和JUnit 4之間的不同 
A.1 全球的需求變化 
A.1.1 JDK的要求 
A.1.2 向后/向前兼容 
A.2 API中的變化 
A.2.1 包結(jié)構(gòu) 
A.2.2 構(gòu)造函數(shù) 
A.2.3 擴(kuò)展TestCase 
A.2.4 測(cè)試方法名稱 
A.3 注釋與新增的靜態(tài)導(dǎo)入 
A.3.1 @Before與@After注釋 
A.3.2 @BeforeClass和@AfterClass注釋 
A.3.3 忽略測(cè)試的差異 
A.3.4 靜態(tài)導(dǎo)入 
A.3.5 異常測(cè)試 
A.3.6 超時(shí)測(cè)試 
A.4 新的JUnit runners 
A.4.1 測(cè)試運(yùn)行器(Test runner) 
A.4.2 測(cè)試集 
A.4.3 參數(shù)化測(cè)試 
A.5 新的斷言和假設(shè) 
A.5.1 Hamcrest斷言 
A.5.2 假設(shè) 
A.5.3 新斷言 
A.5.4 斷言錯(cuò)誤 
附錄B 使用自定義的運(yùn)行器和匹配器擴(kuò)展JUnitAPI 
B.1 介紹攔截器模式 
B.2 實(shí)現(xiàn)自定義運(yùn)行器 
B.3 實(shí)現(xiàn)自定義匹配器 
附錄C 本書源代碼 
C.1 獲取源代碼 
C.2 源代碼概覽 
C.3 外部庫(kù) 
C.4 JAR版本 
C.5 目錄結(jié)構(gòu)約定 
附錄D JUnit IDE集成 
D.1 JUnit與Eclipse的集成 
D.1.1 安裝Eclipse 
D.1.2 從源代碼創(chuàng)建Eclipse項(xiàng)目 
D.1.3 從Eclipse運(yùn)行JUnit測(cè)試 
D.1.4 從Eclipse運(yùn)行Ant腳本 
D.2 引入JUnitMAX Eclipse插件 
D.2.1 集成在你的開發(fā)周期中 
D.2.2 執(zhí)行順序 
D.2.3 恢復(fù)到上一個(gè)穩(wěn)定版本 
D.3 JUnit與NetBeans集成 
D.3.1 安裝NetBeans 
D.3.2 從源代碼中創(chuàng)建NetBeans項(xiàng)目 
D.3.3 從NetBeans運(yùn)行JUnit測(cè)試 
D.3.4 從NetBeans運(yùn)行Ant腳本 
附錄E 安裝軟件 
E.1 安裝HtmlUnit 
E.1.1 標(biāo)準(zhǔn)配置 
E.1.2 Eclipse的配置 
E.2 使用HtmlUnit配置Cactus 
E.3 安裝Selenium 
E.4 安裝RhinoUnit 
E.5 安裝JsUnit 

章節(jié)摘錄

版權(quán)頁(yè):第1部分 認(rèn)識(shí)JUnit歡迎閱讀《JUnit實(shí)戰(zhàn)(第2版)》!JUnit是一個(gè)由Kent Beck和ErichGamma1995年年底著手編寫的框架。自此以后,JUnit框架日益普及,現(xiàn)在已經(jīng)成為單元測(cè)試Java應(yīng)用程序的事實(shí)上的標(biāo)準(zhǔn)。本書是第2版?!禞Unit實(shí)戰(zhàn)》的第1版非常暢銷,由Vincent Massol和Ted Husted于2003年編寫,其內(nèi)容是基于JUnit3.x版本的。我們涵蓋了JUnit最新的版本4.6,討論了許多第I版尚未介紹的功能。與此同時(shí),我們關(guān)注其他一些有趣的測(cè)試代碼的方法:mock objects,JUnit擴(kuò)展、測(cè)試應(yīng)用程序的不同層,等等。這一部分從探索JUnit本身開始。在本書后面的章節(jié)中,我們將專注于另一些工具和方法。第1章 快速介紹了測(cè)試的概念。你需要從基礎(chǔ)知識(shí)人手逐步深人。在本章的后半部分,我們會(huì)直接跳到代碼內(nèi)容,查看如何編寫簡(jiǎn)單的測(cè)試、運(yùn)行它并看到運(yùn)行結(jié)果。第2章 介紹了JUnit最核心的內(nèi)容。我們構(gòu)建了一個(gè)稍大型的項(xiàng)目,并分析其代碼。我們不僅解釋了JUnit的概念、Widget和內(nèi)部構(gòu)成,也為你展示了編寫測(cè)試用例的最佳做法,并利用構(gòu)建的項(xiàng)目對(duì)它們進(jìn)行了說(shuō)明。第3章 重點(diǎn)介紹了測(cè)試。我們描述了各種各樣的測(cè)試以及它們所適用的情況。我們還探討了不同的平臺(tái)(如開發(fā)、生產(chǎn)等),并展示了哪種測(cè)試和哪種情況能夠在這些平臺(tái)上最好地執(zhí)行。第1部分 的最后一章致力于提升你的測(cè)試技巧。我們告訴你如何衡量測(cè)試覆蓋面以及如何提高測(cè)試覆蓋面。我們也解釋了如何在編寫測(cè)試之前生成可測(cè)試的代碼,如何在動(dòng)手編寫代碼之前編寫測(cè)試。

媒體關(guān)注與評(píng)論

  “本書不僅針對(duì)JUn.1、而且還針對(duì)常用的單元測(cè)試給出了權(quán)威的指導(dǎo)?!薄  猅yson S.Maxwell,Raytheon公司    “我向所有認(rèn)真對(duì)待JUnit測(cè)試的人推薦這本書?!薄  猂obert Hanson    《GW Tin Action》作者“為單元測(cè)試打下一個(gè)穩(wěn)固的基礎(chǔ),尤其是以Ant/Maven和Eclipse進(jìn)行的單元測(cè)試?!薄  狣oug Warren    Java Web Services公司“本書展示了如何想盡一切辦法來(lái)進(jìn)行測(cè)試。”  ——John Griffin《Hibernate Search in Action》作者之一

編輯推薦

《JUnit實(shí)戰(zhàn)(第2版)》編輯推薦:JUnit是領(lǐng)先的Java單元測(cè)試框架,它的4.8版本在很大的程度上改善了Java的開發(fā)流程。    為了提高測(cè)試效率,JUnit針對(duì)新的應(yīng)用程序類型(比如Aia×和基于HTML的表示層)以及應(yīng)用程序框架(比如EJB和OSGi)進(jìn)行了擴(kuò)展。    塔凱文等編著的《JUnit實(shí)戰(zhàn)(第2版)》經(jīng)過(guò)徹底的修訂,是目前針對(duì)Java應(yīng)用程序進(jìn)行單元測(cè)試的全新指南。它提供了各種解決實(shí)際問(wèn)題的技術(shù)。例如,使用mocks進(jìn)行隔離測(cè)試、為Java EE和數(shù)據(jù)庫(kù)應(yīng)用程序進(jìn)行容器內(nèi)測(cè)試以及測(cè)試自動(dòng)化。本書采用了實(shí)例驅(qū)動(dòng)的編寫風(fēng)格。并涵蓋了JUnit 4.8的新功能,比如簡(jiǎn)化測(cè)試編寫的新注釋、改進(jìn)的異常處理以及新的斷言方法。此外,你還會(huì)學(xué)到如何將JUnit與其他重要的開源框架、工具進(jìn)行集成。《JUnit實(shí)戰(zhàn)(第2版)》適合于已具有一定Java編程基礎(chǔ)的讀者,以及在Java平臺(tái)下進(jìn)行各類軟件開發(fā)的開發(fā)人員、測(cè)試人員。對(duì)于單元測(cè)試學(xué)習(xí)者和編程愛好者來(lái)說(shuō),《JUnit實(shí)戰(zhàn)(第2版)》則具有極高的學(xué)習(xí)參考價(jià)值。

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    JUnit實(shí)戰(zhàn) PDF格式下載


用戶評(píng)論 (總計(jì)52條)

 
 

  •   這本書寫得很詳細(xì),知識(shí)面也很廣,不僅介紹了JUnit,還介紹了各種測(cè)試相關(guān)的技術(shù),可作為一本測(cè)試入門的參考書,難得的書,強(qiáng)烈推薦
  •   總體看了下,書紙張質(zhì)量還不錯(cuò),翻譯水平也還可以已。比較實(shí)用,現(xiàn)在大部分開源軟件多有junit測(cè)試。此書值得一讀。
  •   這本書寫的非常的好,雖然JUnit比較簡(jiǎn)單,但是和Junit相關(guān)的一些框架,在這本書里面講的特別的好,比如EasyMock,還有其里面統(tǒng)計(jì)代碼覆蓋率的章節(jié)也講的非常好,也有條理。
  •   翻了目錄,這本書講的很全面,適合系統(tǒng)的學(xué)習(xí)Junit,推薦
  •   如果想學(xué)習(xí)JUnit就去看看這本書
  •   對(duì)JUnit有了新的認(rèn)識(shí),是一本不錯(cuò)的書籍
  •   程序員的必備讀物,junit最權(quán)威之作,沒(méi)有之一
  •   適合做深入單元測(cè)試的人學(xué)習(xí)!
  •   學(xué)會(huì)使用工具!
  •   比之前的版本擴(kuò)展了很多(從厚度上,之前版本也沒(méi)有細(xì)讀過(guò)),這次要好好學(xué)習(xí)一下。
  •   收到的時(shí)候還是蠻開心的,書中內(nèi)容講解詳細(xì),能結(jié)合實(shí)例說(shuō)明
  •   書不錯(cuò) 實(shí)戰(zhàn)中
  •   很不錯(cuò)的一本書,很多人推薦看。與大家一起學(xué)習(xí)。
  •   書很好 馬上要用到相關(guān)內(nèi)容,在學(xué)習(xí)中。
  •   xx in action系列的書都不錯(cuò),對(duì)于入門絕對(duì)是很好的,本書也不例外。
  •   介紹的比較淺顯易懂也挺詳細(xì)的
  •   案例很多,實(shí)用
    有些方法從來(lái)沒(méi)有用過(guò),
    看后很想嘗試下。
  •   正需要這樣的工具書,好好學(xué)習(xí)一下!美中不足,發(fā)票打印的太模糊了,根本看不清楚,沒(méi)辦法用??!希望當(dāng)當(dāng)重視一下這個(gè)問(wèn)題哦!
  •   內(nèi)容全面,講述清晰
  •   稍微翻了一下,還沒(méi)細(xì)看,感覺還不錯(cuò),就是書角有點(diǎn)被壓了
  •   這次書的質(zhì)量不錯(cuò).全完新書.
  •   正要用到,好好看
  •   網(wǎng)上推薦買的,好評(píng)不斷
  •   全部ok!
  •   哎,在國(guó)內(nèi)很多小公司都沒(méi)用,覺得浪費(fèi)成本。
  •   在網(wǎng)上先看到,買過(guò)之后,發(fā)現(xiàn)確實(shí)挺好的
  •   還不錯(cuò),是需要的!當(dāng)當(dāng)?shù)馁|(zhì)量信的過(guò),支持一下!
  •   作為QA,JUNIT框架很重要,值得深入了解一番。
  •   沒(méi)想到JUNITBN 也能寫成一本書,不過(guò)內(nèi)容豐富,測(cè)試人員值得買
  •   買了一星期,就翻了一頁(yè),內(nèi)容還不知道呢。
  •   不錯(cuò)的,正是自己所需要的書
  •   書得質(zhì)量非常好 。和想象的一樣
  •   有時(shí)間再繼續(xù)搞這個(gè),應(yīng)該還是蠻不錯(cuò)的
  •   一直都想看看,今天終于買到了
  •   買時(shí)8折,剛下單就變75折,有沒(méi)有搞錯(cuò)啊
  •   看了一部分,對(duì)于初學(xué)者來(lái)說(shuō)還行。
  •   沒(méi)怎么看,。。。。。
  •   還沒(méi)讀呢,但是書紙質(zhì)不怎么好。
  •   還不錯(cuò),書的內(nèi)容不錯(cuò)。送貨速度比京東快!
  •   這本書寫得很詳細(xì),知識(shí)面也很廣,在對(duì)Java單元測(cè)試的基礎(chǔ)上,還講述了其他語(yǔ)言的單元測(cè)試技巧,難得的書,強(qiáng)烈推薦
  •   速度很快,三天收到?,F(xiàn)在書已經(jīng)讀了70%,發(fā)現(xiàn)但是中文翻譯人員不給力。信達(dá)雅,只能是80%信,達(dá)和雅無(wú)從談起。書僅作參考,建議大伙與英文版混搭看。
  •   我和老公都做測(cè)試,都用的到的書,單元測(cè)試講的很細(xì)致,例子很好,很全面
  •   真心建議大家不要買 ,內(nèi)容很多,寫的一點(diǎn)都沒(méi)有深意,我感覺這個(gè)翻譯就是外行在翻譯專業(yè)的。
  •   這本書寫得很詳細(xì),知識(shí)面也很廣,在對(duì)Java單元測(cè)試的基礎(chǔ)上,介紹了很多非常實(shí)用的測(cè)試技巧和最佳實(shí)踐,強(qiáng)烈推薦作為測(cè)試入門書籍。遺憾的是,內(nèi)容這么好的書印刷的紙張竟然這么次.......
  •   可以很好的理解junit,不錯(cuò)
  •   書的內(nèi)容和質(zhì)量都值得推薦
  •   我有第一版的電子書,第二版雖然還是叫JUnit,但是介紹了不少其它xUnit家族的成員,內(nèi)容涉及廣泛但是略淺。
  •   不僅介紹了JUnit,還介紹了各種測(cè)試相關(guān)的技術(shù),可作為一本測(cè)試入門的參考書。但感覺JUnit并沒(méi)有太深入的講解。
  •   很不錯(cuò)的一本書,值得一看;
  •   書本內(nèi)容詳細(xì),很不錯(cuò)
  •   探究下JUNIT的魅力所在
  •   老大要我買測(cè)試類的書
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7