3.6 out of 5
3.6
13 reviews on Udemy

Introducing Test Driven Development in C#

Learn how to use TDD in everyday work and write high-quality code
Instructor:
Packt Publishing
90 students enrolled
English [Auto-generated]
How to test your code using unit tests and unit test frameworks
How to add test support to your project
Explore the essentials of TDD
How to write testable and maintainable code
Understand why SOLID principles are important for testing
Learn which anti-patterns should be avoided
Learn what mocking is and how to use mocking frameworks
Understand the selection of design patterns

Even after so many years, TDD is still one of the main buzzwords at almost every conference. This technique has proven itself to be one of the best practices out there when it comes to writing maintainable, robust, and testable code. This course covers key concepts, methods, and patterns behind TDD through concrete and practical examples in C# 7.

This course starts off with an introduction to unit tests and unit test frameworks. Basically, you will learn how to write and automate tests for your implementations. After that, we shift the paradigm and see how to write your tests before implementation itself. We explore how to add full test support to our projects, as well. Through practical examples you will witness how this technique helps us write higher-quality code. In the final sections of this course, you will learn proven methods and patterns for writing modular and testable code. The principles of TDD will help you write better and cleaner code. In addition, you’ll see how solid tests give you a new sense of confidence when you need to modify existing code, refactor, and add new features.

By the end of this course, you will have the tools you need to start building bulletproof applications, backed by an automated suite of tests to ensure quality software delivery.

About the Author

Nikola Živković is a software developer with over seven years’ experience in the industry. He earned his Master’s degree in Computer Engineering from the University of Novi Sad in 2011, but by then he was already working for several companies. At the moment he works at Vega IT Sourcing from Novi Sad. He has worked on large enterprise systems as well as on small web projects. Also, he frequently talks at meetups and conferences and he is a guest lecturer at the University of Novi Sad. 

Learn How Your Software Works with Test Automation

1
The Course Overview

This video gives an overview of the entire course.

2
Exploring Test Automation
The aim of the video is to understand the shortcomings of manual testing and how test automation is beneficial.
3
Types of Automation Tests

The aim of the video is to learn the various types of Automation tests.

4
Implementing Automation Frameworks in .NET
In this video, we will learn how we can implement automation framework in .NET using unit test frameworks.
5
Automated Testing Demonstration with an Example

We have learnt unit test frameworks in previous video. In this video, we can use the knowledge to understand a practical example of automated unit test.

TDD – The Workflow to Bulletproof Your Code

1
Understand TDD with an Example
In this video, we will have our first contact with TDD with a practical example.
2
TDD Versus Traditional Testing

In this video, we will compare TDD with traditional testing that is, writing only unit test for the code.

3
Development Cycle of TDD
The aim of the video is to dive deeper to understand the TDD development cycle.

Adding Test Support to a .NET Project

1
Creating the Test Project in Visual Studio

The aim of the video is to understand how to create a Test project in Visual Studio and explore few tips and tricks.

2
Creating the Test Project in Visual Studio Code

The aim of the video is to understand how to create a Test project in Visual Studio Code.

3
Using Patterns for Arranging and Formatting Code

In this video, we will explore various test arranging patterns and naming conventions.

4
Dive into Continuous Testing and Code Coverage

The aim of the video is to explore code coverage and how it can be checked using Visual Studio tools and ReSharper.

The Art of Writing Testable Code

1
Testable Code and Single Responsibility Principle
Goal of this video is to display why single responsibility principle is the backbone of well-designed code.
2
Anti-Pattern – Singleton Pattern
The aim of the video is to explore the implementation of singleton pattern, its shortcomings, and the solution for it.
3
Anti-Pattern – The new Operator

The aim of the video is to explore the shortcomings of using the new operator.

4
Anti-Pattern – Static Methods

The aim of the video is to explore the shortcomings of using static methods.

Testing Modular Code Via Mocking

1
Introduction to Mocking

In this video, we explore what is mocking and how to use mocking objects in tests.

2
Manually Mocking Interfaces

In this video, you will learn how to create mocking objects manually and how to use them in your tests.

3
Using Moq Framework

In this video, we will learn how to implement mock objects using Moq framework.

Modularizing Code and Inversion of Control

1
Dependency Inversion Principle and Inversion of Control
In this video, we will see what dependency inversion principle and inversion of control are.
2
Factory Method Design Pattern and Abstract Factory Design Pattern

In this video, we will learn some creational design patterns that can help us with our testing.

3
Using Delegate Types
The aim of the video is to explain what functional delegates are and how we can use them.

Dependency Injection Pattern – The Holy Grail of Modular Design

1
Dependency Injection
The aim of the video is to explore dependency injection with an example.
2
Dependency Injection Patterns
In this video, we will learn more about four dependency injection patterns.
3
Dependency Injection Containers

The aim of the video is to understand what dependency injection containers are and will explore the various dependency injection containers available in the market.

4
Composition Root

The aim of the video is to understand the best practices when it comes to using dependency injection containers.

Concrete Examples of Common Abstractions

1
Repository Pattern Introduction
The aim of this video is to cover theoretical knowledge of repository pattern.
2
Repository Pattern Implementation

In this video, we will see an implementation of repository pattern using entity framework.

3
Service Layer

In this video, service layer is explained.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
3.6
3.6 out of 5
13 Ratings

Detailed Rating

Stars 5
4
Stars 4
5
Stars 3
1
Stars 2
2
Stars 1
1
f49000054412a8d5f01206b3e738b4fa
30-Day Money-Back Guarantee

Includes

3 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion