Özet - İleri test
- Dart kursu
- Uzman
- Ders 42/47
- 5 dk
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
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
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ı
____(result, 5);
expect(result, 5);
Açıklama: expect ile sonuç beklenen değerle karşılaştırılır.