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.5 out of 5 (361 ratings)
11,971 students
English
English [Auto]
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 sections30 lectures3h 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

Instructor

Software Engineer - 1000+ Reviews, Average Score - 4.5
Engineer Spock
  • 4.2 Instructor Rating
  • 7,745 Reviews
  • 62,925 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.