TDD with .NET Core C# - up1/training-courses GitHub Wiki

Course :: Test-Driven Development with .NET Core C#

Pre-requirement

  • มีความรู้พื้นฐาน C# programming
  • Visual Studio

Course Outline

  • Introduction to Test-Driven Development

    • What is TDD ?
    • Test-Driven Development Cycle
    • Why TDD ?
  • Workshop :: Demonstrating TDD and exercise with pairing programming style

    • Introduce problem of exercise
    • Workshop with pairing programming style
    • Summary result from workshop
  • Introduction to xUnit (Unit testing for Java)

    • Structure of good unit test (GUT)
      • AAA (Arrange, Act, Assert)
    • xUnit life cycle
    • xUnit in practice
    • Data-Driven Test with xUnit
    • Working with dependencies
      • External APIs
      • Database
  • TDD in real world :: Good design for testability

    • Introduction to SOLID design principle
    • Single Responsibility Principle
    • Open/Closed Principle
    • Interface Segregation Principle
    • Dependency Inversion Principle
  • Workshop :: Exercise with SOLID design principle

    • Introduce problem of exercise
    • Design application
    • Workshop with pairing programming style
    • Summary result from workshop
  • TDD in real world :: Test Double

    • Introduction to Test Double
    • Fake
    • Stub
    • Mock
    • Demonstrating Test Double
  • Workshop :: Exercise with Test Double => Fake, Stub, Mock

    • Introduce problem of exercise
    • Design application
    • Workshop with pairing programming style
    • Summary result from workshop
  • Mock framework

    • Introduction to Mock framework => MOQ
    • Demonstrating how to use MOQ
    • Workshop
  • Test Principles

    • Test Principles
    • Testing anti-patterns
      • Singleton
      • Slow test
      • One big test
      • Completely mocked
      • Create the world