Introducing Test Driven Development in C#

Introducing Test Driven Development in C#

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 2h 50m | 614 MB

Learn how to use TDD in everyday work and write high-quality code

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.

Learn TDD and best practices for writing testable code from practical examples.

What You Will Learn

  • 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
Table of Contents

Learn How Your Software Works with Test Automation
1 The Course Overview
2 Exploring Test Automation
3 Types of Automation Tests
4 Implementing Automation Frameworks in .NET
5 Automated Testing Demonstration with an Example

TDD – The Workflow to Bulletproof Your Code
6 Understand TDD with an Example
7 TDD Versus Traditional Testing
8 Development Cycle of TDD

Adding Test Support to a .NET Project
9 Creating the Test Project in Visual Studio
10 Creating the Test Project in Visual Studio Code
11 Using Patterns for Arranging and Formatting Code
12 Dive into Continuous Testing and Code Coverage

The Art of Writing Testable Code
13 Testable Code and Single Responsibility Principle
14 Anti-Pattern – Singleton Pattern
15 Anti-Pattern – The new Operator
16 Anti-Pattern – Static Methods

Testing Modular Code Via Mocking
17 Introduction to Mocking
18 Manually Mocking Interfaces
19 Using Moq Framework

Modularizing Code and Inversion of Control#
20 Dependency Inversion Principle and Inversion of Control
21 Factory Method Design Pattern and Abstract Factory Design Pattern
22 Using Delegate Types

Dependency Injection Pattern – The Holy Grail of Modular Design#
23 Dependency Injection
24 Dependency Injection Patterns
25 Dependency Injection Containers
26 Composition Root

Concrete Examples of Common Abstractions
27 Repository Pattern Introduction
28 Repository Pattern Implementation
29 Service Layer