Mastering C# Unit Testing with Real-world Examples

Learn C# unit testing best practices by refactoring real-world examples.

You’ve learned the basics of unit testing in C#, but you still struggle with writing tests that are easy to read and maintain.

What you’ll learn

  • Use builder methods to simplify your tests.
  • Write tests for multiple test values to make your tests more maintainable.
  • Choose good names to express the intent of your tests.
  • Use simple test values to make your tests easier to follow.
  • Write domain-specific assertion methods to have more readable tests.

Course Content

  • Introduction –> 1 lecture • 3min.
  • On Builders –> 3 lectures • 5min.
  • On Testing With Multiple Values –> 7 lectures • 13min.
  • On Mocks and Simplicity –> 7 lectures • 19min.
  • On Public Behavior and Hiden Assumptions –> 5 lectures • 23min.
  • Conclusion –> 1 lecture • 1min.

Auto Draft

Requirements

You’ve learned the basics of unit testing in C#, but you still struggle with writing tests that are easy to read and maintain.

You’ve seen too many online tutorials testing a Calculator class, but you want to learn how to test real code. Code with dependencies, validations, and edge cases. Code that looks like the code you find every day at work.

That’s why I created this course.

No more unit testing the Add method of a Calculator class.

In this course, let’s refactor some real unit tests to make them more readable and maintainable. Although I changed names, classes, and methods to avoid disclosing code from past clients and employers, these are the tests I had to work with as a software engineer.

You will learn how to transform messy and convoluted tests into readable and maintainable tests using best practices and proven principles and methods.

 

Who is this course for?

This course is for you if you are:

  • A C# developer who wants to level up your unit testing skills and write better tests
  • A C# developer who is tired of boring and unrealistic tutorials and wants to learn from real code examples

After you follow this course, you will be able to:

  • Use builder methods to simplify your tests
  • Write tests for multiple test values to make your tests more maintainable
  • Choose good names and use simple test values to make your tests easier to follow
  • Write domain-specific assertion methods to have more readable tests

Mastering these skills will help you to write tests easy to follow. The next time you open one of your tests, you won’t need to scratch your head trying to figure out what you were doing.

This is not an introductory course on unit testing. You should have some basic knowledge of writing unit tests with a testing framework like MSTest, a mocking library like Moq, and the Arrange/Act/Assert pattern.

 

What is inside?

In this course, you will get access to:

  • Eight principles or lessons that cover different best practices for unit testing
  • More than ten unit tests that show real code examples that need refactoring
  • Four exercises that challenge you to apply what you learned and refactor a unit test on your own
  • A checklist that summarizes the best practices from the course
  • Source code of all the unit tests before refactoring them
Get Tutorial