Test-driven development (TDD) is a proven way of developing high-quality applications with clean and well-maintainable code. In this course, you will learn how to use the xUnit testing library to apply the principles of test-driven development on .NET.
You will start this course by reviewing the fundamentals of xUnit and how automated testing works on .NET. Then, you will practice the key TDD fundamentals. After this, you will move to more advanced topics, such as mocking, understanding the testing pyramid, running integration tests against hosted apps, etc.
By the end of the course, you will have learned how to develop high-quality software by following the TDD principles. You will also have learned how to use xUnit to write any automated tests supported by .NET.
- Familiarity with the principles of test-driven development
- An understanding of unit and integration tests
- An understanding of the test pyramid to produce bug-free software
- The ability to write automated tests in .NET using xUnit
- Familiarity with testing best practices
About the author
Microsoft MVP | senior software engineer | published technical author | software development mentor
I am a Microsoft MVP and a lead/senior software engineer with over a decade of professional experience. I primarily specialize in .NET and Microsoft stack. I am enthusiastic about creating well-crafted software that fully meets business needs. I enjoy teaching aspiring developers and sharing my knowledge with the community, which I do both as a volunteer and commercially.
I have created online courses, technical books, and other educational content for major publishers like Apress, Manning, Packt, Educative, etc. I also provide live mentoring services, both to groups and individuals. Some of my books made it into the number one bestseller spot on Amazon and LeanPub. My books include “SignalR on .NET 6 – the complete guide”, “The battle hardened developer”, and “The easiest way to learn design patterns”.
Throughout my career, I have built software of various types and various levels of complexity in multiple industries. This includes a passenger information management system for a railway, distributed smart clusters of IoT devices, e-commerce systems, financial transaction processing systems, and more. I have also successfully led and mentored teams of software developers.