The Art of Unit Testing & TDD Master Class in .NET

With Roy Osherove. Recorded live in class during a five day course.

Video Error

We tried several times to play your video but there was an unforeseen error. We have notified our engineers.

Visit to check that Flash is enabled on your browser.

With Flash enabled, please try again in a few minutes or contact support.

  • Lectures 17
  • Video 9 Hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

Course Description

Recorded LIVE during five days of TDD master class with Roy Osherove.

All videos are downloadable to be viewed offline.

Hello everyone. My name is Roy Osherove. You might have read my book ““The Art of Unit Testing ”.

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.

My book deals with the first skill: Writing good tests.

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.

What are the requirements?

  • One year programming
  • Knowledge about interfaces, inheritance and virtual methods.
  • No Unit Testing Experience Needed

What am I going to get from this course?

  • Over 17 lectures and 9 hours of content!
  • Learn the basics of Unit Testing
  • Learn the basics of TDD
  • Discover Mocks, Stubs and the differences between them
  • Learn to test legacy code
  • Learn to review other people`s tests so you can teach them good practices
  • Unit Testing Advanced Techniques

What is the target audience?

  • Developers in Java, C++ and .NET

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: The Basics
Special Offer

Roy Explains TDD and unit testing from scratrch, including how to setup the environment for flowing development.


Roy Test Drives the creation of a string calculator with explanations on best practices.

Section 2: Fakes, Mocks and Stubs

In this talk, Roy adds a new layer to the application, and uses the existing string calculator, integrated and used from inside a console application.

It is also the first time the idea of a mock object is introduced.


Roy Introduces the idea of mocks, fakes and stubs and shows how to hand write them, and when it makes sense to hand write them.

46.3 kB

Mock Objects Labs (without solutions)


Roy reviews the basic differences between the various isolation (ocking) frameworks. Also explained is the difference between profiler based and proxy based frameworks.

6.0 MB

Demos for mock objects session with LoginManager

Section 3: Test Review Insights

Roy explains what to look for when reviewing other people's tests


Roy Reviews NerdDinner project with the class


Roy and the class Review tests

Section 4: Legacy Code

In this session Roy covers the Extract & Override refactoring technique, and when it might be useful in legacy code situations.


another refactoring technique


Roy Tests BlogEngine.NET with Isolator

Section 5: Bonus tracks on advanced patterns

Roy Shows how to build a domain specific test framework using the idea os "Code Excavations"


Roy shows how to test and complex validation method with refactoring.


How far can you take a tool like typemock Isolator? What wouldyou do with it?

Roy shows very advaced uses of Isolator and any profiler based framework.

Instructor Biography

Roy Osherove, Author of 'The Art Of Unit Testing'

I run TDD and team leadership classes for software developers.

Roy Osherove is 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.

Roy is the author of the book The Art of Unit Testing, and writes about subjects such as unit testing, TDD Team Leadership and agile development on his blog

Join the biggest student community


Hours of video content


Course Enrollments




Average Rating
  1. 5 Stars
  2. 4 Stars
  3. 3 Stars
  4. 2 Stars
  5. 1 Star
    • Peter Davidsen

    Very nice for beginners to unit testing

    This course is a great way for people who are starting to write unit tests, and wants to do TDD. However if you already has experience writing tests, using mocks and so on, you will not get as much out of this. I write unit tests dailiy but have never really gotten into TDD, and this course made me understand it very easily.

    The quality of the videos themselves are at times a bit blurry which is annoying as there are a lot of code demos.

    Roy also presents the use of different mocking frameworks and cases where testing isn't as straight forward as you'd might hope (external apis), fx. testing Silverlight applications.

    • Søren Engel

    Great course material, but lacks well-documented exercises

    The course material itself is really great, no questions about that. I started with little, to none, experience on how to write unit tests and drive the development process using TDD. By the time being, I feel that I am a lot more confident within the two aspects.

    However, I am really missing more well-crafted exercises, as videos often ends with a "we'll continue doing X and Y in the exercises", whereas a lot of what it meant to be done here is underspecified for the viewer of the videos. It would be of great help, if the course had more exercises included, explaining what the assignments were, as well as answers to these exercises. So far this is only done in section 2 (Mocks), and even this document is not all too well-organized.

    My conclusion is that this course offers a lot of expert knowledge on the subject, but it leaves the viewer with too little practical hands-on experience, due to the absence of well-documented exercises.

    • Ian Ceicys

    Great Course to learn unit testing

    This is a great course to learn unit testing!

    • Jorge Crisostomo

    Amazing course!

Ready to start learning?
Preview This Course