Pragmatic Test-Driven Development in C# and .NET: Write loosely coupled, documented, and high-quality code with DDD using familiar tools and libraries (Paperback)

Tibi, Adam

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

商品描述

Build realistic applications with both relational and document databases and derive your code design using TDD. Unit test with xUnit and NSubstitute and learn concepts like DDD, SUT, Mocks, Fakes, Test Doubles, SOLID, and FIRSTHAND

 

Key Features:

  • Build a full TDD-based app employing familiar tools and libraries to practice real-world scenarios
  • Derive your architecture using TDD with domain-driven design and SOLID approach
  • Know the challenges of rolling out TDD and unit testing into your organization and build a plan

 

Book Description:

Test-driven development is a manifesto for incrementally adding features to a product but starting with the unit tests first. Today's project templates come with unit tests by default and implementing them has become an expectation. It's no surprise that TDD/unit tests feature in most job specifications and are important ingredients for most interviews and coding challenges. Adopting TDD will enforce good design practices and expedite your journey toward becoming a better coding architect.

This book goes beyond the theoretical debates and focuses on familiarizing you with TDD in a real-world setting by using popular frameworks such as ASP.NET Core and Entity Framework. The book starts with the foundational elements before showing you how to use Visual Studio 2022 to build an appointment booking web application. To mimic real-life, you'll be using EF, SQL Server, and Cosmos, and utilize patterns including repository, service, and builder. This book will also familiarize you with domain-driven design (DDD) and other software best practices, including SOLID and FIRSTHAND.

By the end of this TDD book, you'll have become confident enough to champion a TDD implementation. You'll also be equipped with a business and technical case for rolling out TDD or unit testing to present to your management and colleagues.

 

What You Will Learn:

  • Writing unit tests with xUnit and getting to grips with dependency injection
  • Implementing test doubles and mocking with NSubstitute
  • Using the TDD style for unit testing in conjunction with DDD and best practices
  • Mixing TDD with the ASP.NET API, Entity Framework, and databases
  • Moving to the next level by exploring continuous integration with GitHub
  • Getting introduced to advanced mocking scenarios
  • Championing your team and company for introducing TDD and unit testing

 

Who this book is for:

This book is for mid to senior-level .NET developers looking to use the potential of TDD to develop high-quality software. Basic knowledge of OOP and C# programming concepts is assumed but no knowledge of TDD or unit testing is expected. The book provides in-depth coverage of all the concepts of TDD and unit testing, making it an excellent guide for developers who want to build a TDD-based application from scratch or planning to introduce unit testing into their organization.

商品描述(中文翻譯)

使用TDD建立具有關聯和文件數據庫的逼真應用程序,並使用xUnit和NSubstitute進行單元測試,並學習DDD、SUT、Mocks、Fakes、Test Doubles、SOLID和FIRSTHAND等概念。

主要特點:
- 使用熟悉的工具和庫來構建基於TDD的完整應用程序,以練習真實世界的場景
- 使用TDD和面向域的設計和SOLID方法來推導架構
- 了解將TDD和單元測試引入組織的挑戰,並制定計劃

書籍描述:
測試驅動開發是一種逐步為產品添加功能的方法,但首先從單元測試開始。如今的項目模板默認帶有單元測試,實施它們已成為一種期望。因此,TDD/單元測試在大多數工作規範中都有所提及,並且是大多數面試和編碼挑戰的重要組成部分。採用TDD將強制執行良好的設計實踐,並加速您成為更好的編碼架構師的旅程。

本書超越理論辯論,著重於通過使用流行的框架(如ASP.NET Core和Entity Framework)在真實世界的環境中熟悉TDD。本書從基礎元素開始,然後向您展示如何使用Visual Studio 2022構建預約預訂Web應用程序。為了模擬現實生活,您將使用EF、SQL Server和Cosmos,並利用包括存儲庫、服務和生成器在內的模式。本書還將使您熟悉面向域的設計(DDD)和其他軟件最佳實踐,包括SOLID和FIRSTHAND。

通過閱讀本書,您將變得足夠自信,能夠推動TDD實施。您還將獲得將TDD或單元測試引入組織的商業和技術案例,以向管理層和同事展示。

學到什麼:
- 使用xUnit編寫單元測試,並熟悉依賴注入
- 使用NSubstitute實現測試替身和模擬
- 使用TDD風格進行單元測試,並與DDD和最佳實踐相結合
- 將TDD與ASP.NET API、Entity Framework和數據庫結合使用
- 通過GitHub進行持續集成
- 介紹高級模擬場景
- 為引入TDD和單元測試而推動您的團隊和公司

適合閱讀對象:
本書適合中高級.NET開發人員,他們希望利用TDD的潛力開發高質量軟件。假設讀者具備面向對象編程和C#編程概念的基本知識,但不需要了解TDD或單元測試。本書詳細介紹了TDD和單元測試的所有概念,使其成為從頭開始構建基於TDD的應用程序或計劃將單元測試引入組織的開發人員的優秀指南。