Pragmatic TDD:以DDD寫出鬆散耦合、文件化和高品質的程式碼
Pragmatic Test-Driven Development in C# and .NET
使用C#和.NET的工具與函式庫
測試驅動開發(TDD)是一種宣言(manifesto),強調在逐步為產品增加功能時,你應該先從單元測試(unit test)開始。現今的專案範本(project template)預設都含有單元測試,而單元測試已成為預期會被實作的重要任務。因此,在許多職位需求中,你會毫不意外地看到TDD、單元測試等關鍵字,而TDD和單元測試亦成為面試、coding挑戰和程式競賽中的重要考題。採用TDD,不僅能強化良好的設計實踐,更能加速你提升技能,成為優秀程式設計架構師(coding architect)。
本書超越理論探討,專注於讓你透過實用的框架,如ASP.NET Core和Entity Framework,在實際環境中熟練應用TDD。從基礎知識開始,本書將指導你使用Visual Studio 2022建立一個服務預訂的網頁應用程式。為了更貼近真實的工作情境,你將使用EF、SQL Server和Cosmos,並運用各種設計模式,包括資源庫(repository)、服務(service)、建造者(builder)等。同時,本書也會介紹領域驅動設計(DDD),以及其他軟體設計最佳實踐,如SOLID和FIRSTHAND等。
讀完本書,你將建立足夠的信心來主導TDD的實作。此外,你也將掌握有力的商業和技術案例,可在向管理階層或同事展示單元測試或推動TDD時使用。藉由本書的指引,你將更有把握成為引領TDD實踐的領航者,並在軟體設計領域中脫穎而出。
目標讀者
本書適合那些希望借助TDD的力量,來開發高品質軟體的中高階.NET開發者。假設你已經掌握OOP(物件導向程式設計)及C#程式設計概念的基礎知識,可是你對TDD或單元測試並不了解,本書將深入介紹並探討所有TDD與單元測試的觀念。對於想要從頭開始建置以TDD為基礎的應用程式,或計畫要在自己的組織內部引入單元測試的開發者來說,本書會是非常實用的指南。
【下載範例程式檔案】
你可以從GitHub下載本書的範例程式碼,如果程式碼有更新,作者也會直接更新在儲存庫上:
github.com/PacktPublishing/Pragmatic-Test-Driven-Development-in-C-Sharp-and-.NET
【下載本書的彩色圖片】
本書使用的彩色截圖和圖表,可以在此下載PDF檔案:
packt.link/OzRlM
本書特色
★使用xUnit編寫單元測試,並掌握相依注入的技巧
★使用NSubstitute實作測試替身,並進行mocking(模擬化)
★結合DDD與最佳實踐,以TDD的風格撰寫單元測試
★將TDD與ASP.NET API、Entity Framework和資料庫結合使用
★透過探索GitHub的持續整合更上一層樓
★探索更進階的mocking使用情境
★在你的公司和團隊中積極推動TDD和單元測試