🚀 Quick Start Guide - Testing¶
1️⃣ Setup (einmalig)¶
# Dependencies installieren
flutter pub get
# Optional: Mocks generieren
dart run build_runner build --delete-conflicting-outputs
2️⃣ Ersten Test schreiben¶
Erstelle: test/unit/models/my_model_test.dart
import 'package:flutter_test/flutter_test.dart';
import '../../helpers/test_helpers.dart';
void main() {
group('MyModel', () {
test('sollte korrekt erstellt werden', () {
// Arrange
final model = MyModel(id: '1', name: 'Test');
// Act & Assert
expect(model.name, 'Test');
});
});
}
3️⃣ Test ausführen¶
# Alle Tests
flutter test
# Einzelner Test
flutter test test/unit/models/my_model_test.dart
# Mit Coverage
flutter test --coverage
4️⃣ Test-Struktur erweitern¶
Folge dem Schema:
test/unit/models/[dein_modul]/[dein_model]_test.dart
test/unit/blocs/[dein_bloc]/[dein_bloc]_test.dart
test/unit/services/[dein_service]_test.dart
⚡ Häufige Patterns¶
Model Test¶
test('toMap/fromMap', () {
final model = TestHelpers.createTestCustomer();
final map = model.toMap();
final restored = Customer.fromMap('id', map);
expect(restored.companyName, model.companyName);
});
Service Test mit Mock¶
test('getCustomers', () async {
final mockService = MockCustomerService();
mockService.setCustomers(testData);
final result = await mockService.getCustomers();
expect(result, hasLength(3));
});
Widget Test¶
testWidgets('zeigt Text an', (tester) async {
await tester.pumpApp(Text('Hello'));
expect(find.text('Hello'), findsOneWidget);
});
📖 Mehr Details¶
Siehe test/README.md für vollständige Dokumentation.