Companies Home Search Profile
Pragmatic Test-Driven Development in C# and .NET: Write loosely coupled, documented, and high-quality code with DDD using familiar tools and libraries
Pragmatic Test-Driven Development in C# and .NET: Write loosely coupled, documented, and high-quality code with DDD using familiar tools and libraries
Download pdf
Pragmatic Test-Driven Development in C# and .NET: Write loosely coupled, documented, and high-quality code with DDD using familiar tools and libraries

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

Author

Publication

Packt Publishing

0 View
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

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.

ISBN-10
1803230193
ISBN-13
978-1803230191
Publisher
Packt Publishing
Price
39.99
File Type
PDF
Page No.
372

About the Author

Adam Tibi is a London-based software consultant with over 22 years of experience in .NET, Python, the Microsoft stack, and Azure. He is experienced in mentoring teams, designing architecture, promoting agile and good software practices, and, of course, writing code. Adam has consulted for blue-chip firms including Shell, Lloyds Bank, Lloyds of London, Willis Towers Watson, and for a mix of start-ups. As a consultant who has a heterogeneous portfolio of clients, he has gained a solid understanding of the TDD intricacies, which he has transferred into this book.

  • 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

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.

  1. Writing Your First TDD Implementation
  2. Understanding Dependency Injection by Example
  3. Getting Started with Unit Testing
  4. Real Unit Testing with Test Doubles
  5. Test-Driven Development Explained
  6. The FIRSTHAND Guidelines of TDD
  7. A Pragmatic View of Domain-Driven Design
  8. Designing an Appointment Booking App
  9. Building an Appointment Booking App with Entity Framework and Relational DB
  10. Building an App with Repositories and Document DB
  11. Implementing Continuous Integration with GitHub Actions
  12. Dealing with Brownfield Projects
  13. The Intricacies of Rolling Out TDD
  14. Appendix 1 - Commonly Used Libraries with Unit Tests
  15. Appendix 2 - Advanced Mocking Scenarios

Similar Books

Other Authors' Books

Other Publishing Books

User Reviews
Rating
0
0
0
0
0
average 0
Total votes0