Testing strategies — unit, widget, integration

📚Moduł 4: DevOps & Quality
⏱️~35 minut

Testing to inwestycja. Dla MVP: nie testuj wszystkiego, ale testuj critical paths. Flutter ma 3 typy testów: unit, widget, integration.

Testing Pyramid

Unit tests (70%):

Widget tests (20%):

Integration tests (10%):

💡 Dla MVP

Zacznij od unit testów dla business logic. Dodaj widget testy dla critical UI. Integration testy tylko dla happy path (login → dashboard).

Unit Tests (Flutter)

Co testować:

Czego NIE testować:

Mocking: Użyj mockito do mockowania dependencies (API, database)

Widget Tests

Co testować:

Przykład: Test login screen

Integration Tests

Co testować:

Narzędzia:

Test Coverage

Cel dla MVP:

Nie gonić 100% — diminishing returns. Focus na critical code.

TDD (Test-Driven Development)

Red-Green-Refactor:

Dla MVP: TDD dla critical logic. Reszta: testy po implementacji.

Best Practices

📝 Zadanie

Napisz unit testy dla jednego use case (np. LoginUseCase). Mock repository. Test: success case, error case, validation. Zmierz coverage: flutter test --coverage.

← Poprzednia lekcja Następna lekcja →