CodeBlanks Logo Icon CodeBlanks

Özet - İleri test

integration, property ve coverage'ı birleştirerek bir test paketi yazarsın.

Özet - İleri test

Bu grupta ileri test tekniklerini öğrendik: integration test (bileşen akışı), property test (rastgele değişmez), mock (sahte bağımlılık), coverage (kapsam ölçümü), golden test (altın dosya karşılaştırma).

Temel: integration gerçeği, property değişmezleri, mock bağımlılıkları sınar. coverage ne kadar kodun exercise edildiğini gösterir. golden, çıktı değişikliklerini yakalar.

Bu teknikler birlikte kullanılır: mock ile izole edilmiş integration testleri, property testlerle değişmezler, coverage ile ölçüm, golden ile görsel/meton çıktı denetimi.

Uygulama Özet: calc + expect + döngü

Bir Calculator sınıfı tanımla: int add(int a, int b) => a + b;. Bir int testCount = 0; global değişkeni tanımla. Bir void expect(dynamic actual, dynamic expected, String label) fonksiyonu tanımla: testCount++; if (actual != expected) print('FAIL: $label');. main içinde final calc = Calculator(); yarat; for (var i = 0; i < 10; i++) { expect(calc.add(i, 0), i, 'identity $i'); } ile 10 test çalıştır; son olarak print('PASS: $testCount tests'); ekle.

Başlangıç kodu

main.dart
int testCount = 0;

void main() {
  // Calculator sınıfını tanımla (add metodu)
  // expect fonksiyonunu tanımla (testCount artırır)
  // 10 deneme çalıştır; sonunda PASS yazdır
}

Örnek çözüm

main.dart
int testCount = 0;

class Calculator {
  int add(int a, int b) => a + b;
}

void expect(dynamic actual, dynamic expected, String label) {
  testCount++;
  if (actual != expected) print('FAIL: $label');
}

void main() {
  final calc = Calculator();
  for (var i = 0; i < 10; i++) {
    expect(calc.add(i, 0), i, 'identity $i');
  }
  print('PASS: $testCount tests');
}

Beklenen çıktı

PASS: 10 tests

Soru ve cevaplar

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

1 Hangi test rastgele girdilerle değişmezleri kontrol eder?

  • Integration test
  • Golden test
  • Property test Doğru cevap
  • Coverage raporu

Açıklama: property test rastgele girdilerle değişmezleri sınar.

2 Test türlerini eşleştir

Kavram Anlamı
Integration Bileşenler
Property Değişmezler
Mock Sahte
Golden Referans

3 expect çağrısı

Soru
  ____(result, 5);
Cevap
  expect(result, 5);

Açıklama: expect ile sonuç beklenen değerle karşılaştırılır.

Uzman bölümündeki tüm dersler