Pragmatic Test-Driven Development in C# and .NET

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.

Type
ebook
Category
publication date
2022-09-30
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

no of pages
372
duration
744
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
approach
This book is for mid to senior-level .NET developers who are looking to utilize 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. As the book provides in-depth coverage of all the concepts of TDD and unit testing, it acts as an excellent guide for developers who want to build a TDD-based application from scratch or developers planning to introduce unit testing into their organization.
audience
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.
meta description
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
short description
This book takes you from little to no TDD or unit testing knowledge to implementing real-life projects based on .NET frameworks, such as ASP.NET Core and Entity Framework. You’ll also get to grips with software practices like DDD and SOLID along with learning how to champion the transformation in your team and educate the business on the benefits.
subtitle
Write loosely coupled, documented, and high-quality code with DDD using familiar tools and libraries
keywords
TDD C#, Test driven development C#, Microsoft C# language, .NET Core, .NET, C# Programming, TDD, Test driven Development, Software testers
Product ISBN
9781803230191