Test-Driven Development w języku C#
Cele szkolenia
Uczestnicy szkolenia nauczą się:
- projektować oprogramowanie obiektowe pod kątem testów - SOLID OOP, Dependency Injection, itp.
- pisać testy jednostkowe z wykorzystaniem obiektów pozorujących (stub i mock)
- organizować testy w projekcie rozwijanym w metodologii TDD
- wdrażać TDD w aplikacjach .NET z interfejsem użytkownika (wzorce MVP i MVVM)
Plan szkolenia
Wprowadzenie do metodologii Test-Driven Development
- Podstawowe zasady i praktyki TDD
- Stosowanie cyklu TDD Red-Green-Refactor
- Zalety i wady TDD
Projektowanie obiektowe pod kątem testów
- SOLID OOP
- Zasada pojedynczej odpowiedzialności - Single-Responsibility Principle
- Zasada otwarte-zamknięte - Open/Close Principle
- Zasada podstawiania Liskov - Liskov Substitution Principle
- Zasada segregacji interfejsów - Interface Segregation Principle
- Zasada odwracania zależności - Dependency Inversion Principle
- Dependency Injection
- Praca z frameworkami DI – Ninject, SimpleInjector
- Refaktoring
- Ekstrakcja klas lub interfejsów
- Zmiana nazw zmiennych, pól, metod i klas
- Enkapsulacja pól
- Zastępowanie instrukcji warunkowych polimorfizmem
- Opóźnianie typowania – słowo kluczowe var
Testy jednostkowe
- Definicja testu jednostkowego
- Organizacja testów i kolejność testowania
- Przegląd framework’ów testów jednostkowych
- NUnit
- XUnit
- Wzorce testów jednostkowych
- Four-Phase Test
- State Verification
- Guard Assertion
- Delta Assertion
- Custom Assertion
- Behavior Verification
Izolacja testów
- Obiekty naśladujące Fake, Dummy, Stub i Mock
- Użycie obiektów Stub - weryfikacja stanu obiektów
- Behaviour-Based Testing – obiekty Mock
- Biblioteka Moq – dynamiczne tworzenie obiektów naśladujących
Testy integracyjne
- Pisanie i uruchamianie testów integracyjnych
- Testy integracyjne End-to-End
BDD - Behaviour-Driven Design
- BDD jako "TDD done right"
- Testy akceptacyjne dla User Stories - framework SpecFlow
- Testy jednostkowe w BDD - framework Machine.Specification
Scenariusze testów w .NET Framework - Case Studies
- TDD i WebForms – wzorzec MVP
- TDD i ASP.NET MVC
Pokrycie kodu testami
- Przegląd narzędzi do Code-Coverage
Wymagania
Znajomość podstaw programowania w jezyku C#
Czas trwania
3 dni po 8 godzin lekcyjnychWycena szkolenia zamkniętego
Szkolenie zamknięte w siedzibie Klienta.
Klient zapewnia salę szkoleniową i sprzęt.
Zapytaj o termin i cenę