The Art of Unit Testing & TDD Master Class in .NET - Recorded LIVE during five days of TDD master class with Roy Osherove.
The Art of Unit Testing & TDD Master Class in .NET
Recorded LIVE during five days of TDD master class with Roy Osherove.
 Enroll in Course for $49

When we approach the skill of test driven development, I can see three distinct sub skills needed to accomplish it:

  • Writing good unit tests
  • Writing them test first
  • Design skills.

In this Unit Testing Best Practices program, recorded live during several TDD master classes, I deal with both Good unit tests, and test first development.I focus very little on design skills, because I believe that focusing on all three skills at the same time can be very challenging to learn.

On day 1, we begin at absolute zero: no knowledge of writing unit tests is needed, and we go through writing our first tests together, discussing readability and maintainability as we go along.Then we move into test driven development, and the string calculator kata as a demo that the students need to complete.

On day 2, we talk about mock objects, stubs and fakes. We talk through a couple of different scenarios where fakes are needed, and how to write hand written fakes. This is an important skill that can help us a lot, even when we know how to use isolation frameworks. We then move from hand written fakes to Isolation (mocking) frameworks. We discuss when they bring to the table, and contrast a few of the isolation frameworks, their APIs and their design in this Unit Testing Tutorial course.

We also discuss the idea of constrained and unconstrained isolation frameworks, and why some frameworks have more abilities than others.

On day 3, we focus on writing good tests. We start by reviewing test code written by others, and learn the essential skill of sharing knowledge with others about how to write unit tests, and how to do test reviews. We also revisit methods of writing readable, maintainable and trustworthy tests.

On day 4, we focus mainly on legacy code, ad refactoring techniques on breaking it. We take a look at extract and override, refactoring static classes into instance classes, and more. We also finish up with using an unconstrained isolation framework (Typemock isolator) to test legacy code.

On day 5, I usually do exercises on real production code written by my students at my own company. In this video series, I have chosen to incorporate a few advanced ideas as part of the learning process: We look at refactoring complex validation methods to extract and override for testability, and how to create domain specific testing isolation frameworks.

To be able to learn Unit Testing Best Practices take this course now.

 Enroll in Course for $49
Your Instructor

Roy Osherove is a senior consultant at ITVerket, and the author of The Art Of Unit Testing and Notes to a software team leader. He is also one of the original ALT.NET organizers. He consults and trains teams worldwide on the gentle art of unit testing, test-driven development and how to lead software teams. He frequently speaks at international conferences on these topics and others.

Course Curriculum
Section 1 - The Basics
  Unit Testing And TDD 101 (116:52)
  Test Driving a String Calculator (27:29)
Section 2 - Fakes, Mocks and Stubs
  Test Driving a Console Application Using String Calculator (17:54)
  Introduction to Hand Written Fakes, Mocks and Stubs (07:18)
  Isolation Frameworks (61:27)
Section 3 - Test Review Insights
  Test Review Practices (61:31)
  NerdDinner Test Review (27:17)
  Unity Test Review (26:37)
Section 4 - Legacy Code
  Using Extract & Override (22:33)
  Static Forwarding on a real legacy app (14:44)
  Testing Legacy Code with Typemock Isolator Deep Dive (20:08)
Section 5 - Bonus tracks on advanced patterns
  Code Excavations and Domain Specific Test Frameworks (54:14)
  Testing Complex Validation Knowledge using Extract & Override (44:33)
  Mocking On The Edge (50:54)
Can I download the videos for offline viewing?
When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound?
After purchase, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy!
If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.