Practical Test-Driven Development using C# 7

More Information
  • The core concepts of TDD
  • Testing in action with a real-world case study in C# and JavaScript using React
  • Writing proper Unit Tests and testable code for your application
  • Using different types of test double such as stubs, spies, and mocks
  • Growing an application guided by tests
  • Exploring new developments on a green-field application
  • Mitigating the problems associated with writing tests for legacy applications
  • Modifying a legacy application to make it testable

Test-Driven Development (TDD) is a methodology that helps you to write as little as code as possible to satisfy software requirements, and ensures that what you've written does what it's supposed to do. If you're looking for a practical resource on Test-Driven Development this is the book for you. You've found a practical end-to-end guide that will help you implement Test-Driven Techniques for your software development projects.

You will learn from industry standard patterns and practices, and shift from a conventional approach to a modern and efficient software testing approach in C# and JavaScript. This book starts with the basics of TDD and the components of a simple unit test. Then we look at setting up the testing framework so that you can easily run your tests in your development environment. You will then see the importance of defining and testing boundaries, abstracting away third-party code (including the .NET Framework), and working with different types of test double such as spies, mocks, and fakes.

Moving on, you will learn how to think like a TDD developer when it comes to application development. Next, you'll focus on writing tests for new/changing requirements and covering newly discovered bugs, along with how to test JavaScript applications and perform integration testing. You’ll also learn how to identify code that is inherently un-testable, and identify some of the major problems with legacy applications that weren’t written with testability in mind.

By the end of the book, you’ll have all the TDD skills you'll need and you’ll be able to re-enter the world as a TDD expert!


  • Develop a thorough understanding of TDD and how it can help you develop simpler applications with no defects using C# and JavaScript
  • Adapt to the mindset of writing tests before code by incorporating business goals, code manageability, and other factors
  • Make all your software units and modules pass tests by analyzing failed tests and refactoring code as and when required
Page Count 403
Course Length 12 hours 5 minutes
ISBN 9781788398787
Date Of Publication 15 Feb 2018


John Callaway

John Callaway, a Microsoft MVP, has been a professional developer since 1999. He has focused primarily on web technologies and has experience with everything from PHP to C# to ReactJS to SignalR. Clean code and professionalism are particularly important to him, along with mentoring and teaching others what he has learned along the way.

Clayton Hunt

Clayton Hunt has been programming professionally since 2005, doing mostly web development with an emphasis on JavaScript and C#. He focuses on Software Craftsmanship and is a signatory of both the Agile Manifesto and the Software Craftsmanship manifesto. He believes that through short iterations and the careful gathering of requirements, we can deliver the highest quality and most value in the shortest time. He enjoys learning and encouraging others to continuously improve themselves.