CodeBlanks Logo Icon CodeBlanks

flutter_test nedir?

flutter_test ile widget testi yazmaya başlamayı öğrenirsin.

flutter_test nedir?

flutter_test paketi, Flutter widget'larını test etmek için kullanılan resmi test çerçevesidir. testWidgets fonksiyonu bir test ortamı kurar, Finder ile widget'ları bulur, expect ile doğrularsın. Testler test/ klasörüne _test.dart uzantısıyla konur.

import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets('baslik gosterilir', (tester) async {
    await tester.pumpWidget(MyApp());
    expect(find.text('Merhaba'), findsOneWidget);
  });
}

Finder ile widget bulma

Finder, widget ağacında arama yapmak için kullanılır. find.text metinle, find.byType widget tipiyle, find.byKey anahtarla bulur. expect ile Finder sonucunu findsOneWidget, findsNothing gibi değerlerle kontrol edersin.

Uygulama İlk widget testi

main içinde 'metin gosterilir' adlı bir testWidgets testi yaz. pumpWidget ile MaterialApp(home: Text('Merhaba')) render et. find.text('Merhaba') ve findsOneWidget ile doğrula. Son olarak 'test tanimlandi' yazdır.

Başlangıç kodu

main.dart
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/material.dart';

void main() {
  // 'metin gosterilir' adlı bir testWidgets testi yaz
  // pumpWidget ile MaterialApp içinde Text render et
  // find.text ile metni bul ve tek widget bulunduğunu doğrula
  // son olarak 'test tanimlandi' yazdir
}

Örnek çözüm

main.dart
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/material.dart';

void main() {
  testWidgets('metin gosterilir', (tester) async {
    await tester.pumpWidget(
      const MaterialApp(home: Text('Merhaba')),
    );
    expect(find.text('Merhaba'), findsOneWidget);
  });
  print('test tanimlandi');
}

Beklenen çıktı

test tanimlandi

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Test dosyaları hangi klasöre konur?

  • assets/
  • test/ Doğru cevap
  • lib/
  • bin/

Açıklama: Flutter testleri test/ klasöründe ve _test.dart uzantısıyla saklanır; flutter test komutu bu klasörü tarar.

2 find ile metin ara

Soru
expect(find.____('Merhaba'), findsOneWidget);
Cevap
expect(find.text('Merhaba'), findsOneWidget);

Açıklama: find.text metodu widget ağacında verilen metne sahip widget'ı bulur; find.byType tip ile, find.byKey anahtar ile arar.

3 flutter_test parçaları

Kavram Anlamı
flutter_test Test çerçevesi
testWidgets Test ortamı kurar
Finder Widget bulma
expect Doğrulama

İleri seviye bölümündeki tüm dersler