0Pricing
Dart Academy · Ders

async Kodunu ve Akışları test Etme

Gelecekleri bekleyin ve olay dizilerini doğrulayın.

async Kodunu ve Akışları test Etme, CoddyKit'te ücretsiz bir Dart Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Dart Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Dart Academy kursu toplamda 4 dersten oluşur.

Eş Zamanlı Kod Özen İster

Gerçek kodların çoğu bir Future döndürür. Bir test beklemeyi unutursa iş tamamlanmadan önce başarılı olabilir. ⏳

Döndürün veya await Kullanın

Test gövdeniz async olduğunda ve işi await ile beklediğinizde ya da Future'ı doğrudan döndürdüğünüzde çalıştırıcı bekler.

test('loads user', () async {
  final u = await fetchUser();
  expect(u.name, 'Ada');
});

Future'lar için expectLater

Eşleştirilen değer bir Future'ın kendisiyse expectLater kullanın; örneğin bir Future'ın belirli bir sonuçla tamamlandığını kontrol ederken.

await expectLater(fetchValue(), completion(42));

completion Eşleştiricisi

completion eşleştiricisi, bir Future başarıyla tamamlandığında ve değeri iç eşleştiriciyle eşleştiğinde başarılı olur.

expectLater(load(), completion(isNotEmpty));

Eş Zamanlı Hataları Doğrulama

Bir Future'ın başarısız olduğunu doğrulamak için expectLater ile throwsA'yı birlikte kullanın. Böylece test, doğru hatanın fırlatıldığını denetler.

await expectLater(
  risky(), throwsA(isA<StateError>()));

Akışlar Çok Sayıda Değer Üretir

Bir Stream, zaman içinde bir olay dizisi gönderir. Onu test etmek, bu dizinin tamamını doğru sırayla kontrol etmek demektir.

emits Eşleştiricisi

Bir akışın ürettiği sonraki değeri doğrulamak için emits, beklenen bir dizi için emitsInOrder kullanın.

await expectLater(
  counter, emitsInOrder([1, 2, 3]));

Sonu Bildirin

emitsDone eşleştiricisi, bir akışın beklendiği zamanda kapanıp kapanmadığını kontrol eder ve hiç tamamlanmayan akışları yakalar.

expectLater(ticks, emitsThrough(emitsDone));

Akış Hataları da Olur

Bir akışta hata beklemek için eşleştiricileri emitsError ile birleştirin; böylece başarısızlıkların olay olarak ulaştığını doğrularsınız.

emitsInOrder([1, emitsError(isException)]);

Sahte Başarılara Dikkat Edin

Yaygın bir hata şudur: await'i unutmak, testin erken bitmesine ve sessizce başarılı olmasına neden olur. Eş zamanlı işleri her zaman await ile bekleyin veya döndürün.

Zaman Aşımları Sizi Korur

Eş zamanlı kod takılırsa çalıştırıcı onu durdurur. Yavaş bir testte bekleme süresini timeout ile ayarlayabilirsiniz.

test('slow', () async { /* ... */ },
  timeout: Timeout(Duration(seconds: 5)));

Hızlı Kontrol

Bir akışın 1, 2, 3 değerlerini sırayla ürettiğini nasıl doğrularsınız?

Özet

Future'ları await ile beklediniz, completion ve throwsA ile expectLater kullandınız ve akışları emits eşleştiricileriyle kontrol ettiniz. Eş zamanlı kodu güvenle test ettiniz. 🌊

Sıkça Sorulan Sorular

“async Kodunu ve Akışları test Etme” dersi ücretsiz mi?

Evet — “async Kodunu ve Akışları test Etme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Dart Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Dart Academy kursu toplamda 4 dersten oluşur.

“async Kodunu ve Akışları test Etme” dersinde ne öğreneceğim?

Gelecekleri bekleyin ve olay dizilerini doğrulayın. Dart Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Dart Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Dart Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“async Kodunu ve Akışları test Etme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Dart Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Dart Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. İlk test ve expect'iniz
  2. group, setUp ve tearDown
  3. async Kodunu ve Akışları test Etme
  4. Taklitler, Sahte Nesneler ve Kapsam
← Dart Academy Sayfasına Dön