setUp ve tearDown
- Dart kursu
- Orta seviye
- Ders 85/116
- 5 dk
setUp ve tearDown ile fixture öğrenirsin.
setUp ve tearDown
setUp(() { ... }) her testten önce, tearDown(() { ... }) her testten sonra çalışır. Bu, her teste temiz bir ortam (fixture) hazırlar.
Örneğin bir Counter örneği setUp'ta oluşturulursa her test sıfırdan başlar. tearDown geçici dosyaları ya da bağlantıları kapatır.
Bu metotlar group içinde de kullanılabilir; yalnızca o grubun testleri için çalışırlar.
Fixture kavramı
Bir fixture, testin çalıştığı ortamdır. setUp içinde bir nesne oluşturup testlerin paylaştığı değişkene koyarsın. Her test bu nesneyi sıfırdan alır.
Örneğin late Counter c; setUp(() { c = Counter(); }); her test için yeni bir Counter üretir. Böylece testler birbirini etkilemez.
tearDown ise test sonunda temizlik yapar; geçici dosyaları siler ya da bağlantıları kapatır.
Uygulama Counter sınıfı
Bir Counter sınıfı tanımla: int value = 0 alanı ve void increment() => value++ metodu olsun. main içinde bir Counter oluştur, increment()'i üç kez çağır ve value'yu print ile yazdır.
Başlangıç kodu
// Counter sınıfını tanımla (value, increment)
void main() {
// bir Counter oluştur, increment'i üç kez çağır, value yazdır
}Örnek çözüm
class Counter {
int value = 0;
void increment() => value++;
}
void main() {
var c = Counter();
c.increment();
c.increment();
c.increment();
print(c.value);
}Beklenen çıktı
3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 setUp ne zaman çalışır?
- Tüm testlerden sonra bir kez
- Program başlarken bir kez
- Yalnızca hata durumunda
- Her testten önce Doğru cevap
Açıklama: setUp her testten önce çalışır.
2 setUp bloğu
____(() {
counter = Counter();
});
setUp(() {
counter = Counter();
});
Açıklama: setUp ile her testten önce kod çalışır.
3 Fixture parçaları
| Kavram | Anlamı |
|---|---|
setUp |
Testten önce |
tearDown |
Testten sonra |
Counter() |
Fixture nesnesi |
value |
Sınanan alan |