Introduction to TDD in C#

Learn test driven development: make code testable, robust and maintainable. Bring unit testing skills to the next level.
Rating: 4.3 out of 5 (306 ratings)
10,689 students
Introduction to TDD in C#
Rating: 4.3 out of 5 (306 ratings)
10,692 students
Practice TDD in your daily job

Requirements

  • You should already be familiar with the basics of C#
  • You should already be familiar with the basics of unit testing
Description

Today unit testing is the absolutely required skill which is required from any professional developer. Companies expect from developers to know how to write unit tests including all the most important topics such as mocking and test driven development (TDD in short).

This course is all about practicing TDD using C# programming language and NUnit as a unit testing framework. Along the way, we will learn the concepts related to unit testing. This course does not cover all the features of NUnit. This course is way more interesting.

Learning unit testing and TDD puts a powerful and very useful tool at your fingertips. Being familiar with unit testing and TDD you can write reliable and maintainable applications. It is very hard to lead a project which is not covered by unit tests.

Content and Overview   

This course is primarily aimed at developers who’re already familiar with the basics of unit testing and dependency injection. Some experience in C# programming is required. 

Theory is dead without practice, so starting from the second section, you’ll see tons of programming sessions where I’ll demonstrate how to implement generating of Fibonacci numbers, FizzBuzz, parsing of roman numerals, updateable spin synchronization primitives, tic-tac-toe or crosses and noughts game and game in sticks. You’ll also learn:   

  • How a regular agile development process looks like   

  • That you need to learn shortcuts to practice TDD more smoothly   

  • Three Main TDD techniques: faking, triangulation and obvious implementation   

  • Which tests to write first   

  • How to start writing a test in a TDD manner

Here is my Teaching Approach -

No fluff, no ranting, no beating the air. I respect your time. The course material is succinct, yet comprehensive. All important concepts are covered. Particularly important topics are covered in-depth. For absolute beginners, I offer my help on Skype absolutely free, if requested.

Take this course, and you will be satisfied.

Who this course is for:
  • Any developer who wants to improve professional programming skills
Course content
2 sections • 30 lectures • 3h 13m total length
  • Download Source Code
    00:02
  • Join Chat in Telegram
    00:02
  • Outline
    01:06
  • Why we need TDD?
    16:18
  • What is TDD?
    05:00
  • Red / Green / Refactor
    04:16
  • Three Laws of TDD
    01:42
  • Changing Requirements and the Safety Net
    05:23
  • F.I.R.S.T.
    02:48
  • Code Coverage
    02:19
  • Types of Tests and TDD
    04:04
  • Testing Frameworks and Tools
    05:06
  • When TDD Fails?
    02:46
  • Conclusion
    02:02
  • Outline
    01:46
  • Regular Agile Process in 200 Words
    01:59
  • VS and R# Shortcuts
    03:44
  • Refactoring Commands Built-In Visual Studio
    00:09
  • Fibonacci Numbers
    07:38
  • Three Main TDD Techniques
    04:31
  • Grabbing the Gold
    03:10
  • FizzBuzz
    11:06
  • Reading Roman Numerals
    12:07
  • UpdateableSpin
    17:50
  • Continuous Testing
    03:57
  • Tic-Tac-Toe (Crosses and Noughts)
    36:17
  • Assert First
    01:26
  • Demo - Sticks
    32:16
  • Conclusion
    01:38
  • BONUS
    00:35

Instructor
Software Engineer - 1000+ Reviews, Average Score - 4.5
Engineer Spock
  • 4.2 Instructor Rating
  • 6,721 Reviews
  • 56,293 Students
  • 22 Courses

I'm thankful enough for that I love what I do.

I began my career as a postgraduate student participating in Microsoft ImagineCup contest.

I've been working with .NET platform since 2003. I've been professionally architecting and implementing software for nearly 7 years, primarily based on .NET platform. I'm passionate about building rich and powerful applications using modern technologies. I'm a certified specialist in Windows Applications and Service Communication Applications by Microsoft. I'm one of the coordinators of the MSK.NET User Group in Moscow.

"If it's work, we try to do less. If it's art, we try to do more." - Seth Godin.

What I can say is that software is my art.